このチャプターの目次
まず Flutter での開発を始める前に、Qiita API を使うための準備と確認を行います。
アクセストークンの取得
まず Qiita API を使うためのアクセストークンを取得しましょう。
アクセストークンの取得方法
-
右上のご自身のアイコンをタップして「設定」を選択します。
-
「アプリケーション」を選択し、「新しいアクセストークンを発行する」をタップします。
-
アクセストークンの名前を入力、スコープは「read_qiita」を選択し、「発行する」をタップします。
-
アクセストークンが表示されるので、コピーしておきましょう。
API の確認
今回はこちらの投稿一覧を取得する API を使用します。
呼び出すエンドポイントは以下になります。
[GET] https://qiita.com/api/v2/items
リクエストパラメータの確認
リクエスト時に使えるオプションも確認しておきましょう。特に今回は任意のキーワードで検索を行う為、query
オプションを使うことになります。
オプション名 | 説明 |
---|---|
page |
ページ番号 |
per_page |
1 ページあたりに含まれる要素数 |
query |
検索クエリ |
オプションを指定したエンドポイントは以下のような形になります
https://qiita.com/api/v2/items?page=1&per_page=20&query=qiita+user%3AQiita
query
では以下のようなオプションを使うことができます
オプション名 | 説明 | 例 |
---|---|---|
title |
タイトルに指定の文字列を含む | title:2015 |
body |
本文に指定の文字列を含む | body:Qiita |
code |
コードに指定の文字列を含む | code:Ruby |
tag |
指定のタグを持つ | tag:Ruby |
user |
指定のユーザー | user:sampleuser |
-tag |
指定のタグを持たない | -tag:Ruby |
stocks |
ストック件数 | stocks:>3 |
created |
作成日 | created:>2015-10-09 |
updated |
更新日 | updated:>2015-10 |
レスポンスの確認
それでは API を呼び出した際に返ってくるレスポンスを確認しておきましょう。
レスポンス
[
{
"rendered_body": "<h1>Example</h1>",
"body": "# Example",
"coediting": false,
"comments_count": 100,
"created_at": "2000-01-01T00:00:00+00:00",
"group": {
"created_at": "2000-01-01T00:00:00+00:00",
"description": "This group is for developers.",
"name": "Dev",
"private": false,
"updated_at": "2000-01-01T00:00:00+00:00",
"url_name": "dev"
},
"id": "c686397e4a0f4f11683d",
"likes_count": 100,
"private": false,
"reactions_count": 100,
"stocks_count": 100,
"tags": [
{
"name": "Ruby",
"versions": ["0.0.1"]
}
],
"title": "Example title",
"updated_at": "2000-01-01T00:00:00+00:00",
"url": "https://qiita.com/Qiita/items/c686397e4a0f4f11683d",
"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": "Qiita 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"
},
"page_views_count": 100,
"team_membership": {
"name": "Qiita キータ"
}
}
]
後ほどこのレスポンスから必要な情報を取り出し、モデルに格納していきます。