Qiita API로 자신의 기사 LGTM과 View를 얻으십시오.

9949 단어 QiitaAPIQiita

개요



Qiita API에 대한 메모.
Qiita API v2 문서 - Qiita:Developer 를 보면 모두 알겠지만, 자신에게 필요한 곳만 메모하고 있습니다.

이 기사에서는 QiitaAPI의 다음을 볼 수 있습니다.
  • API 이용 제한 정보
  • LGTM 기록 얻기
  • 내 모든 기사의보기 수 얻기
  • 액세스 토큰 발급 및 사용

  • API 이용 제한







    인증 사용자
    1시간에 1000회

    인증 없음
    1시간에 60회


    Qiita API v2 사용법



    LGTM 취득



    문서



    LTGM 취득 API은 다음과 같습니다.
    GET /api/v2/items/:item_id/likes HTTP/1.1
    

    실천



    이 기사의 LGTM을 걸립니다. Swift Combine 첫 걸음 - Qiita

    기사 URL은 https://qiita.com/Sho-heikun/items/cc28fc8a41b9932ecfb1이며, 후행 ID는 item_id입니다.

    따라서 URL은 다음과 같습니다.
    https://qiita.com/api/v2/items/cc28fc8a41b9932ecfb1/likes
    

    여기를 브라우저 URL에 붙여 넣으면 결과를 볼 수 있습니다.

    LGTM의 누른 시간만 표시



    응답의 정의는 다음과 같으며 사용자의 데이터를 포함합니다.
    HTTP/1.1 200
    Content-Type: application/json
    
    [
      {
        "created_at": "2000-01-01T00:00:00+00:00",
        "user": {
          "description": "Hello, world.",
          "facebook_id": "qiita",
          "followees_count": 100,
          "followers_count": 200,
          "github_login_name": "qiitan",
          "id": "qiita",
          "items_count": 300,
          "linkedin_id": "qiita",
          "location": "Tokyo, Japan",
          "name": "Qiita キータ",
          "organization": "Increments Inc",
          "permanent_id": 1,
          "profile_image_url": "https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/88/ccf90b557a406157dbb9d2d7e543dae384dbb561/large.png?1575443439",
          "team_only": false,
          "twitter_screen_name": "qiita",
          "website_url": "https://qiita.com"
        }
      }
    ]
    

    이번에는 user의 정보는 불필요하므로 jq로 filter합니다.
    $ curl -s 'https://qiita.com/api/v2/items/cc28fc8a41b9932ecfb1/likes' | jq -r ".[].created_at"
    2020-10-01T16:56:51+09:00
    2020-10-01T02:33:46+09:00
    2020-10-01T02:30:21+09:00
    2020-10-01T00:43:09+09:00
    2020-10-01T00:09:44+09:00
    2020-09-30T12:54:58+09:00
    2020-09-30T10:28:42+09:00
    2020-09-30T09:15:20+09:00
    2020-09-29T18:29:32+09:00
    2020-09-29T17:59:22+09:00
    2020-09-29T17:10:01+09:00
    2020-09-29T16:10:12+09:00
    2020-09-29T15:42:24+09:00
    2020-09-29T14:03:53+09:00
    2020-09-29T11:34:36+09:00
    2020-09-29T10:42:48+09:00
    2020-09-29T09:25:19+09:00
    2020-09-28T23:52:41+09:00
    2020-09-28T23:41:49+09:00
    2020-09-28T23:35:23+09:00
    

    무사히 취득할 수 있었습니다만, 실은 이쪽은 20건 밖에 표시되고 있지 않습니다.

    per_page를 지정하면 더 많은 수를 얻을 수 있습니다.

    주의점으로서, per_page는 100이 최대이므로, 100이상인 경우는 page로 조정합니다.

    페이지의 초기값은 1, 페이지의 최대값은 100으로 설정됩니다. 또한, per_page의 초기값은 20, per_page의 최대값은 100으로 설정된다.
    [페이지 네이션]에서( htps : // 코 m/아피/v2/도 cs#%에3%83%9에%에3%83%BC%에3%82%B8%에3%83%8D%에3%83%BC%에3 %82%B7%에3%83%아7%에3%83%B3 )
    https://qiita.com/api/v2/items/cc28fc8a41b9932ecfb1/likes?per_page=100
    

    View 수 얻기



    문서



    View 수를 얻을 수 있는 것은 기사 취득 API
    GET /api/v2/items/:item_id HTTP/1.1
    

    실천



    방금 LGTM의 url을 조금 바꾸는 것입니다.
    https://qiita.com/api/v2/items/cc28fc8a41b9932ecfb1
    

    그러나 사용자 인증을 하지 않으면 View 수를 나타내는 page_views_countnull가 됩니다.

    액세스 토큰 발급 방법



    액세스 토큰을 발행하고 인증 사용자로 API 액세스합니다.
    사용자 관리 화면에서 발급이 가능합니다.

    하단의 "새로 토큰 발행"을 누르십시오.


  • 발급된 토큰을 다시 표시할 수 없습니다.
  • 토큰 삭제는 같은 페이지에서 삭제할 버튼을 누르면 간단합니다.

  • 액세스 토큰으로 API 구현


    
    curl -sH 'Authorization: Bearer 【アクセストークンを入れる】' https://qiita.com/api/v2/items/cc28fc8a41b9932ecfb1
    

    기사 보기 가져오기



    이런 식으로 기사의 View 수와 LGTM 수를 얻을 수 있습니다.
    curl -sH 'Authorization: Bearer 【アクセストークンを入れる】' https://qiita.com/api/v2/items/cc28fc8a41b9932ecfb1 | jq ".page_views_count, .likes_count"
    

    내 모든 기사의 조회수 얻기



    결국 다음 코드가되었습니다.
    curl -sH 'Authorization: Bearer 【アクセストークンを入れる】' \
    "https://qiita.com//api/v2/authenticated_user/items?page=1&per_page=3" \
    | jq -r ".[].id" \
    | xargs -P 3 -I {id} curl -sH 'Authorization: Bearer 【アクセストークンを入れる】' https://qiita.com/api/v2/items/{id} \
    | jq '"\(.title), VIEW: \(.page_views_count),  LGTM: \(.likes_count)"'
    
    

    내 기사 검색 APIpage_views_count 는 있습니다만, null 입니다.
    그래서, 하나 하나의 id를 입력에 방금전의 기사 취득 API로 View수를 취득합니다.

    위를 두드리면 다음과 같은 결과가 됩니다.
    "Swift enum型を復習する, VIEW: 115,  LGTM: 3"
    "Swift Combine初めの1歩, VIEW: 1198,  LGTM: 28"
    "iOSDC 2020 1日目に参加しました。, VIEW: 196,  LGTM: 5"
    

    요약



    좋은 Qiita 생활!

    참고 기사


  • Qiita API v2 문서 - Qiita:Developer
  • Qiita API로 기사의 LGTM 수와 View 수를 배우십시오 - Qiita
  • 좋은 웹페이지 즐겨찾기