こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- Python環境でInstagram Graph APIを活用する方法が知りたい
- Instagram Graph APIで使用するアクセストークンの有効期限を長期化する方法を知りたい
【Instagram Graph API】Pythonでアクセストークンの有効期限を長期化
本記事ではPython環境でInstagram Graph APIを呼び出し、有効期限を長期化したアクセストークンを取得する方法について解説します。
※後述のコードではMeta for developersサイトで取得できるInstagram Graph APIの認証情報を利用します。
情報取得が未済の方は、まず以下の記事から取得方法を確認下さい。
Instagram Graph APIの認証・利用手順|アクセストークン・アプリ・インスタビジネスアカウントID取得
Instagram Graph APIを活用したインスタ自動運用に興味がある方向けに、API利用に至るまでの準備事項・手順を詳しく解説します。
また、Meta for Developersで利用可能なアクセストークンの概要について詳しく知りたい方はこちらの記事をご参考ください。(本記事ではユーザートークンについて言及します)
【Meta API】Facebookアクセストークンの取得方法|ユーザー・アプリ・ページアクセストークンガイド
Meta(Facebook)アクセストークンを利用したい方向けに、ユーザー・アプリ・ページアクセストークンの取得手順を紹介します。
【事前準備】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のアクセストークン有効期限を延長する
Python環境でInstagram Graph APIのアクセストークンの有効期限を延長したい場合、以下のコードを実行します。
def LongLivedAccessToken(params) :
# エンドポイントに渡すパラメータ
Params = dict()
Params['grant_type'] = 'fb_exchange_token' # トークン変更要件
Params['client_id'] = params['app_id'] # Meta Developersで作成したアプリID
Params['client_secret'] = params['app_secret'] # Meta Developersで作成したアプリシークレット
Params['fb_exchange_token'] = params['access_token'] # 現在のアクセストークン
# エンドポイントパラメータ
url = params['endpoint_base'] + 'oauth/access_token?' # endpoint url
# API呼出
return InstaApiCall(url, Params, 'GET')
# API呼出
response = LongLivedAccessToken(config_dict)
print ("\n----アクセストークン----\n")
print ("アクセストークン情報:\n>>> " + response['json_data']['access_token'])
上記のコードを実行すると、有効期限が長期化されたアクセストークンが出力されます。
お手元にメモを残し、以後こちらのトークンを活用するようにしましょう。
【参考】インスタグラム・その他SNSの運用効率化
当サイトではSNS運用を効率化するための方法を多数解説しています。
Instagram Graph APIを活用したインスタ運用の自動化
カテゴリ | 記事名 |
---|---|
API利用手順 | Instagram Graph APIの使い方・認証手順・できること |
API利用手順 | Instagram Graph APIの動作チェック |
API利用手順 | 有効期限を長期化したアクセストークン取得 |
インスタ運用効率化 | Instagramユーザー情報取得 |
インスタ運用効率化 | Instagramに投稿したメディア情報取得 |
インスタ運用効率化 | Instagramハッシュタグの検索結果取得 |
インスタ運用効率化 | Instagramに写真や動画をアップロード |
インスタ運用効率化 | Instagramメディア・ユーザーインサイト取得 |
インスタグラム運用代行サービス
「面倒なSNS運用を全て代行してほしい」「質のいいフォロワーを獲得したい」「SNS経由での収益導線を強化したい」という方向けにこちらのサービスもおすすめします。
Twitter運用の効率化
Twitter運用を自動化する方法
- Twitter検索結果に基づくデータ収集・分析
- 定期的に自動ツイートする方法
- 自動でファボ(いいね)やリツイートする方法
- 自動でフォロー・ブロック・ミュートする方法
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら