リンク:
アリスブログ > 「ALISのAPI」を使用する方法まとめ > 当記事
◆ 【Python】「ALISのAPIのドキュメント」を利用する方法
「ALISのAPIを読み込むプログラムの説明」の続きです。
ここでは、「APIを呼び出すプログラム」と「ALISのAPIのドキュメント」の関係性を説明していきます。
○ 留意事項
・「2018/09/09」に作成された記事です
・Pythonの経験は浅いので、内容の一部に誤りがあるかもしれません
○ 関連記事
◆ ALISのAPIを読み込むプログラムの基本型(省略型)
import urllib.request
import json
import pprint
url_name1 = 'https://alis.to/api/articles/recent?limit=1'
cm_data1 = urllib.request.urlopen(url_name1)
article_box1 = json.loads(cm_data1.read().decode("utf-8"))
pprint.pprint(article_box1['Items'])
input('Enterキーで終了')
(前々からAPIを読み込むプログラムの動作原理を記載してきたので、このプログラムの説明は省略)
様々なAPIを呼び出す上で、重要となる部分は、
url_name1 = 'https://alis.to/api/articles/recent?limit=1'
の部分になります。
この中の「https://alis.to/api/articles/recent?limit=1」を任意のものに置き換えることで、ALISの色々なデータを呼び出すことができます。
◆ 「ALISのAPIのドキュメント」の説明
「url_name1」に何を入れればよいのかについては、「ALISのAPIのドキュメント」のページから判断します。
上記のサイトを訪れると、
このようなページが表示されて、どのようなAPIが存在しているのかを把握することが可能です。
○ 「ALISのAPIのドキュメント」の説明
・一番左の「GET」という文字について
HTTPの「リクエストメソッド」です。
・GET …… ALISから情報を得る
・POST …… ALISに情報を送る(投稿など)
・PUT …… ALISの情報を更新する
・DELETE …… ALISの情報を削除する
こんな感じ。
基本的に、GET以外は、ログイン情報が必要なので、情報の取得を主体とする場合は、特に使用しません。
・「GET」の右側に書かれているURLについて
「https://alis.to/api」以降に書かれているURL文のことです。
例えば、「/articles/popular」のケースですと、
「https://alis.to/api」と「/articles/popular」が合体して、
「https://alis.to/api/articles/popular」になります。
これは、ALISの人気記事を取得するAPIであり、
上記の「url_name1」の中身を
url_name1 = 'https://alis.to/api/articles/recent?limit=1'
↓
url_name1 = 'https://alis.to/api/articles/popular'
に変更してから実行すると、
ALISの人気記事(popular)のデータを取得することができます。
(引数を指定しなかった場合は、一定の数の人気記事を取得します)
・右側に描かれている「鍵マーク」について
ログイン情報が必要になるAPIです。
(「/me/」系の個人情報を取得するものは、全て認証が必要になります)
この記事で使用することはないので、説明は省略。
○ APIの詳細について
各 APIの項目を選択すると、以下のような詳細が表示されます。
リクエストメソッド(GET等)の下には、このAPIで何ができるのかの説明が記載されているので、それを読んで、各APIの仕組みを理解しましょう!
(「/articles/popular」の場合は、「人気記事一覧情報を取得」と書かれているので、このAPIを利用すれば、ALISから人気記事一覧を取得することができる、ということがわかります)
・パラメータについて(Parameters)
「/articles/popular」では、(現時点だと)「limit」「page」「topic」という3つの引数が存在しており、これらをAPIのURLの後に記載することで、取得するJSONデータを変更することができます。
・例1
url_name1 = 'https://alis.to/api/articles/?limit=3'
と記載すると、人気記事一覧を「3件だけ」取得するようになります。
※1 「?」は引数を追加する時に記載しなければならない「宣言の文字」です
※2 パラメータの「=」の式には、「半角スペース」を入れないで下さい
・例2
url_name1 = 'https://alis.to/api/articles/popular?limit=3&page=2&topic=gourmet'
こちらは、トピック「グルメ」(topic = gourmet)の「人気記事一覧」を、「3件飛ばして」(page = 2)、そこから「3件」を取得するプログラムになります。
※1 複数の引数を設定したい時は、「&」で結ぶ必要があります
※2 page(offset)で「スキップされる件数」は、「limit * (page-1)」です(「page=0」にすると、エラーが発生します)
※3 ALISのWebページでは、キャッシュが取られているため(数分前の記事の情報が残っているため)、APIで呼び出した最新情報に対して違いが生じることもあります
※4 呼び出したい「トピック名」の「英文字」がよくわからない場合は、ALISの各トピックのページの「URL」を閲覧すれば、確認することができます
※5 「popular」の場合は、「recent」と違って、「body」(記事の本文)は取得しません
・名前(「limit」等)の下に書かれている「integer」や「string」について
要求している変数の型です。
・「integer」は、小数点のない数字(int型)
・「string」は、文字列
を求めています。
(パラメータの「○○ =」の先には、「型に合わせた値」の記述が必要になります)
(例:「limit」は「int型」の要求なので、「limit=3」とかでOK)
・追記:「* required」について
APIのパラメータ中には、赤文字で「* required」と書かれたものがあります。
これは、そのパラメータの入力が必須であることを示しています。
……もし、「* required」が記載されているAPIを呼び出す時は、「* required」が指定されているパラメータを必ず入力して下さい。
◆ 指定されているパラメータに合わせて、JSONデータをリクエストしてみよう!
「ALISのAPIのドキュメント」を読んでから、「url_name1 = 'https://alis.to/api/articles/popular」のURLを任意のものに変更すれば、「いいねの数」や「特定の記事の情報」等を取得したりすることもできるようになります。
上記の情報を参考にしながら、ALISから様々なデータを呼び出してみて下さい!
◆ 「ゆうき」のツイッター