今回はPythonでInstagram Graph APIを使ってプロフィールのインサイト情報を取得する方法について紹介したいと思います
関連記事:【Python】Instagram Graph APIで投稿情報を一括スクレイピングする
前準備
Instagram Graph APIを使用するためにはアクセストークンと自分のインスタアカウントの内部IDが必要になります。取得方法については以下に纏めていますのでまだの方はこちらを参考にしてください
関連記事:【2023年版】Instagram Graph APIのアクセストークンを取得する方法
上記で取得したものが正しければ以下のコードの下記部分を取得できたアクセストークンとインスタグラムの内部IDを置き換えて実行すると認証情報が取得されます
# アクセストークン
config[“access_token”] = ‘xxxx’
# インスタグラムビジネスアカウントID
config[‘instagram_account_id’] = “xxxx”
<認証情報確認コード>
import requests
import json
import datetime
from pprint import pprint
def basic_info():
# 初期化
config = dict()
# アクセストークン
config["access_token"] = 'xxxx'
# インスタグラムビジネスアカウントID
config['instagram_account_id'] = "xxxx"
# APIのバージョン
config["version"] = 'v16.0'
# APIドメイン
config["graph_domain"] = 'https://graph.facebook.com/'
# APIエンドポイント
config["endpoint_base"] = config["graph_domain"]+config["version"] + '/'
# 出力
return config
def debugAT(params):
# エンドポイントに送付するパラメータ
Params = dict()
Params["input_token"] = params["access_token"]
Params["access_token"] = params["access_token"]
# エンドポイントURL
url = params["graph_domain"] + "/debug_token"
# 戻り値
return InstaApiCall(url, Params, 'GET')
# リクエスト
params = basic_info() # リクエストパラメータ
response = debugAT(params) # レスポンス
# レスポンス
pprint(response)
ユーザー情報のインサイトを取得するサンプルコード
以下がサンプルコードになります
def UserInsights(params, period='day') :
"""
***********************************************************************************
【APIエンドポイント】
https://graph.facebook.com/{graph-api-version}/{ig-user-id}/insights?metric={metric}&period={period}
***********************************************************************************
"""
# エンドポイントに渡すパラメータ
Params = dict()
Params['metric'] = 'impressions,reach,profile_views' # インサイト指標
Params['period'] = period # 集計期間
Params['access_token'] = params['access_token'] # アクセストークン
# エンドポイントURL
url = params['endpoint_base'] +params['instagram_account_id'] + '/insights' # endpoint url
# 出力
return InstaApiCall(url, Params, 'GET')
UserInsights(params, period='day')
実行すると各インサイト情報が出力されます
関連記事:【GAS】Instagram Graph APIを使ってプロフィール画面のインサイト情報を取得する
関連記事:【Python】Instagram Graph APIで投稿情報を一括スクレイピングする
【参考】Instagram Graph APIで認証エラーになるときのよくある原因
前述のコード実行後にエラーが発現した場合、以下の理由でInstagram Graph APIが呼び出せていない可能性があります。
- FacebookとInstagramがリンクしていない
- アクセストークン発行時にInstagram利用の権限が正しく付与されていない
- App ID・Appシークレットが間違っている
- インスタグラムビジネスアカウントIDが間違っている
- APIのバージョンが間違っている
コメント
[…] 関連記事:【Python】Instagram Graph APIを使ってプロフィールのインサイト情報を取得する […]