6
9

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 3 years have passed since last update.

[Django]InstagramのAPIを使用しPythonで情報を取得する

Last updated at Posted at 2021-04-16

##はじめに
pythonでInstagramのAPIを使ってユーザー情報を取得しました。現在公開されている情報が少ないと感じたので備忘録として残しておきます。
アクセストークンを利用するための認証コードの取得からアクセストークンの取得とユーザーの情報の取得までを行います。

前提としてfacebook for developersでアプリの設定を終えている状態とします。
また今回はInstagram Basic Displayを使います。設定の詳しいやり方は以下を参照してください

##環境
Django 3.1
Python 3.9.2
facebook for developers設定済
Instagram Basic Display設定済

##認証コードの取得

まずpip installinstagram-basic-displayをインポートします

$ pip3 install instagram-basic-display
$ python manage.py shell
>>> from instagram_basic_display.InstagramBasicDisplay import InstagramBasicDisplay

>>> instagram_basic_display = InstagramBasicDisplay(app_id ='InstagramアプリID', app_secret='Instagram App Secret',redirect_url='設定したリダイレクトURL')
# redirect_urlはhttpで設定できないのでhttpsにすること

>>> print(instagram_basic_display.get_login_url())
https://api.instagram.com/oauth/authorize?client_id=11111111111111&redirect_uri=https://hogehoge.com%2F&scope=user_profile%2Cuser_media&response_type=code
# printしたURLをクリック

URLをクリックすると以下の画面に飛ぶのでAllowをクリックしてください

スクリーンショット 2021-04-17 14.59.21.png

成功すると、前のステップで指定したリダイレクトURLにリダイレクトされ、URLに認証コードが付加されます。


https://hogehoge.com?code=NOFDNAON3DKMFDMDOKFDMOLFKMDFK
            # ↑code=から右の部分が認証コードになる(1時間だけ有効)

こちらの取得した認証コードをコピーしてください

##アクセストークンを取得
先ほど取得した認証コードを使ってアクセストークンを取得します

>>> auth_token = instagram_basic_display.get_o_auth_token('取得した認証コード')

>>> auth_token
{'access_token': 'アクセストークン', 'user_id': 'ユーザーID'}

##ユーザー情報の取得
アクセストークンを利用しユーザー情報も取得していきます

>>> instagram_basic_display.set_access_token('取得したアクセストークン')

>>> profile = instagram_basic_display.get_user_profile()

>>> profile
{'account_type': 'PERSONAL', 'id': '1111111111111', 'media_count': 1, 'username': 'hogehoge'}

これでユーザー情報を取得することができます。

##参考

6
9
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
6
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?