こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- Python環境でInstagram Graph APIを活用したい
- Instagram Graph APIを正常に呼出できているのか動作確認したい
【Python】Instagram Graph APIの動作チェック
本記事ではPython環境でInstagram Graph API機能を活用したい方向けに、API呼出が正常にできているか確認するための方法を解説します。
Instagram Graph APIの利用には次のような事前対応が必要です。
InstagramとFacebookの環境設定
- Instagramプロアカウントの開設
- Meta Business Suiteにアカウントを登録
- FacebookとInstagramをリンク
Meta for DevelopersでAPI認証情報を取得
- Meta for Developersに開発者として登録
- アクセストークン
- アプリID&アプリシークレット
- インスタグラムビジネスアカウントID
API利用に際して、上記の対応が未済の方は、以下の記事を参考にご対応ください。
Instagram Graph APIの認証・利用手順|アクセストークン・アプリ・インスタビジネスアカウントID取得
Instagram Graph APIを活用したインスタ自動運用に興味がある方向けに、API利用に至るまでの準備事項・手順を詳しく解説します。
Pythonモジュールのインストール
本記事での動作チェックでは、以下のPythonモジュールを活用します。インストールが未済の方は、ターミナルやコマンドプロンプトをもとに以下を実行しておきましょう。
requests
pip install requests
pprint
pip install pprint
【事前準備】Instagram Graph APIの認証用関数を作成
はじめに、Instagram Graph APIを使用するための、API認証用関数を作成します。
認証には以下のコードを用い、XXXX
部分を必要な認証情報に書き換えて利用しましょう。
endpont_baseにはgraph_domain(https://graph....com/
)と最新のバージョンvxx.0/
を指定しています。
config_dict = {
"access_token": '<アクセストークン>',
"app_id":'<アプリID>',
"app_secret":'<アプリシークレット>',
"instagram_account_id":'<インスタビジネスのアカウントID>',
"endpoint_base":'https://graph.facebook.com/v21.0/',
}
【事前準備】Instagram Graph API呼出関数を作成
続いて、インスタグラム Graph APIを呼び出す関数を作成します。
以下のコードをそのままコピー&ペーストしましょう。
import requests
import json
import datetime
from pprint import pprint
# API Request Func
def InstaApiCall(url, params, request_type):
# Request
if request_type == 'POST':
req = requests.post(url,params)
else :
req = requests.get(url,params)
# Response
res = dict()
res["url"] = url
res["endpoint_params"] = params
res["endpoint_params_pretty"] = json.dumps(params, indent=4)
res["json_data"] = json.loads(req.content)
res["json_data_pretty"] = json.dumps(res["json_data"], indent=4)
return res
Instagram Graph API呼出関数の動作チェック
前述の認証用関数とAPI呼出関数を用いて、以下のデバッグ関数を実行しましょう。
コード
def debugAT(params):
# エンドポイントに送付するパラメータ
Params = dict()
Params["input_token"] = params["access_token"]
Params["access_token"] = params["access_token"]
# エンドポイントURL
url = params["endpoint_base"] + "/debug_token"
# 戻り値
return InstaApiCall(url, Params, 'GET')
# リクエスト
response = debugAT(config_dict)
# レスポンス
print(response)
出力イメージ
# {'endpoint_params': {'access_token': 'XXXXX',
# 'input_token': 'XXXXXX'},
# 'endpoint_params_pretty': '{\n'
# ' "input_token": '
# '"XXXXX",\n'
# ' "access_token": '
# '"XXXXX"\n'
# '}',
# 'json_data': {'data': {'app_id': '1234567',
# 'application': 'App',
# 'data_access_expires_at': 12345678,
# 'expires_at': 0,
# 'granular_scopes': [{'scope': 'pages_show_list',
# 'target_ids': ['12345']},
# {'scope': 'pages_read_engagement',
# 'target_ids': ['12345']}],
# 'is_valid': True,
# 'issued_at': 1234567,
# 'scopes': ['pages_show_list',
# 'ads_management',
# 'business_management',
# 'instagram_basic',
# 'instagram_manage_comments',
# 'instagram_manage_insights',
# 'instagram_content_publish',
# 'instagram_manage_messages',
# 'pages_read_engagement',
# 'public_profile'],
# 'type': 'USER',
# 'user_id': '1234567'}},
# 'url': 'https://graph.facebook.com//debug_token'}
上記のように、レスポンスにエラーが出力されなければ正常にAPIが呼び出しできています。
【参考】Instagram Graph APIが正常に呼び出せない理由
前述のコード実行後にエラーが発現した場合、以下の理由でInstagram Graph APIが呼び出せていない可能性があります。
- FacebookとInstagramがリンクしていない
- アクセストークン発行時にInstagram利用の権限が正しく付与されていない
- App ID・Appシークレットが間違っている
- インスタグラムビジネスアカウントIDが間違っている
- APIのバージョンが間違っている
【参考】インスタグラム・その他SNSの運用効率化
当サイトではSNS運用を効率化するための方法を多数解説しています。
Instagram Graph APIを活用したインスタ運用の自動化
カテゴリ | 記事名 |
---|---|
API利用手順 | Instagram Graph APIの使い方・認証手順・できること |
API利用手順 | Instagram Graph APIの動作チェック |
API利用手順 | 有効期限を長期化したアクセストークン取得 |
インスタ運用効率化 | Instagramユーザー情報取得 |
インスタ運用効率化 | Instagramに投稿したメディア情報取得 |
インスタ運用効率化 | Instagramハッシュタグの検索結果取得 |
インスタ運用効率化 | Instagramに写真や動画をアップロード |
インスタ運用効率化 | Instagramメディア・ユーザーインサイト取得 |
インスタグラム運用代行サービス
「面倒なSNS運用を全て代行してほしい」「質のいいフォロワーを獲得したい」「SNS経由での収益導線を強化したい」という方向けにこちらのサービスもおすすめします。
Twitter運用の効率化
Twitter運用を自動化する方法
- Twitter検索結果に基づくデータ収集・分析
- 定期的に自動ツイートする方法
- 自動でファボ(いいね)やリツイートする方法
- 自動でフォロー・ブロック・ミュートする方法
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら