Python 自動化

【Python】Instagram Graph APIを使ってプロフィールのインサイト情報を取得する

この記事は約5分で読めます。

 

 

今回は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のバージョンが間違っている

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 関連記事:【Python】Instagram Graph APIを使ってプロフィールのインサイト情報を取得する […]

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