instagram基本表示APIの使い方②ユーザー情報の取得

API

どうもイトサル(@itosaru)です。

instagramのAPIを使ってみたいです。
基本的な使い方を教えてください。

この記事ではinstagram基本表示APIを使ってユーザー情報を取得するプログラムについて説明します。

なおプログラムはPythonを使います。


取得できる情報は大きく2つある

ユーザー情報といってもどんな情報が取得できるのでしょうか。

取得できるユーザー情報は大きく2つあります。

  1. プロフィール情報:自分のアカウント名や投稿数
  2. メディア情報:自分のアカウントから投稿したメディアの情報

注意点としてはいずれも自分のアカウントの情報のみで他者の情報は取得できないということです。

イトサル
イトサル

基本表示といっているので仕方ないかもしれませんが、

ちょっと微妙な仕様です…。

とはいえ自分が投稿したメディアの一覧を一括で取得できるという点においては使い道がありそうです。

ユーザー情報取得のサンプルプログラム

下のコードがユーザー情報を取得するサンプルプログラムです。

別記事のアクセストークン取得で作成したプログラムの改良しました。

アクセストークンの取得についてはこちら

instagram基本表示APIの使い方①アクセストークンを発行する
instagram基本表示APIの使い方として基本となるものはアクセストークンの発行です。このアクセストークンを発行するためには認証コードを発行する必要があります。この記事ではその認証コードおよびアクセストークンを発行するためのPythonプログラムについて説明します。
from instagram_basic_display.InstagramBasicDisplay import InstagramBasicDisplay

instagram_basic_display = InstagramBasicDisplay(app_id ='InstagramアプリID', app_secret='Instagram App Secret',redirect_url='設定したリダイレクトURL')

def get_authorize_code():
    print(instagram_basic_display.get_login_url())

def get_access_token(authorize_code):
    auth_token = instagram_basic_display.get_o_auth_token(authorize_code)
    print(auth_token)

def get_profile(access_token):
    profile = instagram_basic_display.get_user_profile()
    print(profile)

print()
print("区分を入力してください")
print("1:認証コード発行")
print("2:アクセストークン発行")
print("3:ユーザー情報取得")

kbn = int(input())

if(kbn == 1):
    get_authorize_code()
elif(kbn == 2):
    authorize_code = input("認証コードを入力してください:")
    get_access_token(authorize_code)
elif(kbn == 3):
    access_token = input("アクセストークンを入力してください:")
    instagram_basic_display.set_access_token(access_token)

    #プロフィールの取得
    profile = instagram_basic_display.get_user_profile()
    print()
    print(profile)

    #投稿したメディアの取得
    media = instagram_basic_display.get_user_media()
    print()
    print(media)

コードの解説をしていきます。

プロフィールの取得メソッド

プロフィールの取得には

get_user_profile()

引数パラメータは設定する必要はありませんが、事前にアクセストークンを登録しておく必要があります。

プログラムの実行結果がこちらです。

自分のプロフィール情報が返ってきましたね。

リターンデータの個々の説明はこちらです。

Meta for Developersより抜粋(https://developers.facebook.com/docs/instagram-basic-display-api/reference/user?locale=ja_JP)

idは開発者サイトで登録したアプリのidかと思ったのですがどうやら違いそうです。

イトサル
イトサル

生ユーザーIDとはいったい・・・

メディアの取得メソッド

投稿したメディア情報を取得するには

get_user_media()

メソッドを使います。

引数に取得するメディアの上限などを設定するパラメータがありますが、サンプルプログラムでは設定していません。

プログラムの実行結果がこちらです。

投稿したメディアの情報が取得できました。

リターンデータの個々の説明はこちらです。

Meta for Developersより抜粋(https://developers.facebook.com/docs/instagram-basic-display-api/reference/media)

media_urlはアップロードされた実体のURL、permalinkはinstagram上で管理しているメディアのURLです。

media_urlをそのままブラウザに貼り付けるとアップロードした画像ファイルを開くことができます。

まとめ

この記事ではinstagram基本表示APIを使ってユーザー情報を取得する方法についてお伝えしました。

今回の内容を振り返ります。

  • 自分のプロフィール情報を取得する:get_user_profile()メソッドを使う
  • 投稿したメディア情報を取得する:get_user_media()メソッドを使う

後者のget_user_media()メソッドは使う頻度が高そうなのでしっかり覚えておきましょう。

公式リファレンス


コメント

タイトルとURLをコピーしました