3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

requestsを使ってInstagram APIをいじってみる

Last updated at Posted at 2019-03-04

Instagram APIとは

インスタグラムが提供しているAPI。今は基準が厳しくなって自分のアカウントの情報しか操作できないらしい。
あとはSand boxに他のユーザを追加するとそのユーザも操作できる。

Access tokenをゲットする。

今回はインスタグラムのドキュメントを参考に作成。
今回はClient-Side (Implicit) Authenticationで作成する。(Server-side (Explicit) Flowでやろうと思ったけどできなくて諦めた。)

Authentication

ドキュメントを読みながら、認証を行なった。

  1. アクセストークンの取得

上記の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を使用している。

get.py

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))
client_info.py
access_token = "ACCESS_TOKEN"

上記のプログラムはアクセスして、レスポンスボディのdataパラメータを表示しています。
実行してみてください。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?