Instagram APIとは
インスタグラムが提供しているAPI。今は基準が厳しくなって自分のアカウントの情報しか操作できないらしい。
あとはSand boxに他のユーザを追加するとそのユーザも操作できる。
Access tokenをゲットする。
今回はインスタグラムのドキュメントを参考に作成。
今回はClient-Side (Implicit) Authenticationで作成する。(Server-side (Explicit) Flowでやろうと思ったけどできなくて諦めた。)
Authentication
ドキュメントを読みながら、認証を行なった。
- アクセストークンの取得
上記のURLのclient_idとredirect_uriの部分を自分のものに変えてGETする。
そうするとリダイレクトURLに飛んでブラウザのアドレスバーが下記のようになる
http://your-redirect-uri#access_token=ACCESS-TOKEN
2.アクセスしてみる
https://api.instagram.com/v1/self/media/recent?access_token=ACCESS_TOKEN
上記のACCESS_TOKENを自分のものに変更してブラウザでアクセスする。
するとjsonでレスポンスが返ってくる。
{"pagination": {}, "data": [{"id": "1990445690938419069_2908844", "user": {"id": "2908844",
#中略
{"code": 200}}
またインスタグラムのAPI EndPointsに説明載ってます。
Pythonで書いてみる。
先ほど取得したURLにリクエストするプログラムを書いてみた。今回はpython3.6を使用している。
import json
import client_info
import requests
instagram_url = f"https://api.instagram.com/v1/users/self/media/recent/?access_token={client_info.access_token}"
res = requests.api.get(instagram_url)
data = res.json()["data"]
print(res.url)
print(json.dumps(data, indent=4))
access_token = "ACCESS_TOKEN"
上記のプログラムはアクセスして、レスポンスボディのdataパラメータを表示しています。
実行してみてください。