Qiita APIを触ってみる


Qiitaのアクセストークンの取得

  • 設定から進む

ここ からでも進めます。

  • アプリケーション > 個人用アクセストークン > 新しくトークンを発行する

  • アクセストークンの発行

ここでスコープがいくつかあるかと思いますが、詳細は以下です。

read_qiita : Qiitaからアクセストークンに紐付いたユーザに関連したデータを読み出す
read_qiita_team : Qiita Teamからデータを読み出す
write_qiita : Qiitaにデータを書き込む
write_qiita_team : Qiita Teamにデータを書き込む

Qiita Teamは関係ないので省く。
また今回はデータを書き込まないのでwrite_qiitaは省きます、最小の権限にしておきます。

選択ができたら発行に進みます。

  • 発行される

発行すると個人用アクセストークンにアクセストークンが発行されます。

APIを叩いてみる

  • 自分のプロフィールを取得してみる例

アクセストークンを指定してユーザのプロフィールを取得します。
あと見ずらいのでjqを入れています。

curl -H 'Authorization: Bearer [アクセストークン]' 'https://qiita.com/api/v2/users/[ユーザ名]' | jq
curl -H 'Authorization: Bearer [アクセストークン]' 'https://qiita.com/api/v2/users/miyuki_samitani' | jq
==========
{
  "description": "聞いたり見たりして知らないこと知っていくやつ",
  "facebook_id": "",
  "followees_count": 5,
  "followers_count": 6,
  "github_login_name": null,
  "id": "miyuki_samitani",
  "items_count": 89,
  "linkedin_id": "",
  "location": "",
  "name": "",
  "organization": "",
  "permanent_id": 129517,
  "profile_image_url": "https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/profile-images/1602510349",
  "team_only": false,
  "twitter_screen_name": "miyuki_samitani",
  "website_url": ""
}
==========
  • 記事を取得してみる例

ブラウザからIDを見てみます。結構昔の記事....
URLのitemsの下がIDになります。

以下が記事を取得するコマンドになります。

curl -H 'Authorization: Bearer [アクセストークン]' 'https://qiita.com/api/v2/items/[記事のID]' | jq

以下が sshの公開鍵認証について(個人的まとめ) の記事を取得したものになります。
rendered_bodybody は長いので省略しています。
titleとかも取れるのね...

curl -H 'Authorization: Bearer [アクセストークン]' 'https://qiita.com/api/v2/items/2bac5ec563bb400a26ef' | jq
==========
{
  "rendered_body": "[HTML形式の本文]",
  "body": "[Markdown形式の本文]",
  "coediting": false,
  "comments_count": 0,
  "created_at": "2016-09-21T03:20:36+09:00",
  "group": null,
  "id": "0ae736fee026337ccdb9",
  "likes_count": 13,
  "private": false,
  "reactions_count": 0,
  "tags": [
    {
      "name": "SSH",
      "versions": []
    },
    {
      "name": "公開鍵認証",
      "versions": []
    }
  ],
  "title": "sshの公開鍵認証について(個人的まとめ)",
  "updated_at": "2016-09-21T14:53:26+09:00",
  "url": "https://qiita.com/miyuki_samitani/items/0ae736fee026337ccdb9",
  "user": {
    "description": "聞いたり見たりして知らないこと知っていくやつ",
    "facebook_id": "",
    "followees_count": 5,
    "followers_count": 6,
    "github_login_name": null,
    "id": "miyuki_samitani",
    "items_count": 89,
    "linkedin_id": "",
    "location": "",
    "name": "",
    "organization": "",
    "permanent_id": 129517,
    "profile_image_url": "https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/profile-images/1602510349",
    "team_only": false,
    "twitter_screen_name": "miyuki_samitani",
    "website_url": ""
  },
  "page_views_count": 11534
}
==========

勉強後のイメージ

結構簡単だった...
curlでもブラウザからでも見れる。
これで記事一覧とか出来る気がするー!
あと、スコープ変えたら投稿とかも出来るしすごいね
あとすごい公式ドキュメント見やすかった

参考