自身で運用中のインスタグラムの投稿画像一覧をグラフAPIを利用して取得するまでの手順をご紹介いたします。
前提
Facebookアカウント、Instagramアカウントを事前にご用意ください。
1.インスタに関してはビジネスアカウントに切り替えておく必要があります。
2.FacebookとInstaguramをリンクさせておく必要もあります。
アプリ登録
以下の記事を参考にご登録お願いします。
アプリに製品を追加
アプリのダッシュボードへ移動
Facebook for Developers のマイアプリのページに登録済みのアプリがありますのでクリックしてダッシュボードへ移動します。
InstagramグラフAPIを追加
ダッシュボードのページを少しスクロールすると「アプリに製品を追加」というセクションがありその中に「InstagramグラフAPI」がありますので設定ボタンをクリックしアプリに追加します。
アクセス許可の追加
上記、アプリ登録の際に設定済みであれば不要ですが、”pages_show_list” に加えて “instagram_basic” の許可設定するフォームに入力し Generate Access Token をクリックします。
以下の内容のポップアップで開きますので、ログインをクリックして次へ進みます。
登録したアプリで利用するInstagramビジネスアカウントの選択を要求されますので、対象のアカウントを選択して次へ進みます。
Facebookページの設定も必要に応じて選択して次へ進みます。
ログインレビューの申請等なにも変更せず完了をクリックして進みます。
最後にOKをクリックしてポップアップを閉じて設定を終えます。
無期限のアクセストークンを取得
以下の記事をご参照の上、無期限アクセストークンを取得してください。
InstagramビジネスアカウントIDを取得する
以下のフォーマットで “access_token” に有効期限が無期限のアクセストークンを指定してブラウザ等でアクセスして取得します
取得に成功すると以下のようなJSONテキストが返ってきますので、”instagram_business_account” の中の id をコピーします。
{
"accounts": {
"data": [
{
"instagram_business_account": {
"id": "1234567890"
},
"name": "アナライズギア株式会社",
"id": "12345678901234567890"
}
],
"paging": {
"cursors": {
"before": "xxxxxxxxxx",
"after": "xxxxxxxxxx"
}
}
},
"id": "1234567890"
}
インスタ投稿画像一覧情報取得(JSON)
以下のフォーマットで、先ほど取得したInstagramビジネスアカウントIDと有効期限が無期限のアクセストークンを指定してブラウザ等でアクセスします。
https://graph.facebook.com/v9.0/<<InstagramビジネスアカウントID>>?fields=name,media.limit(10){caption,like_count,media_url,permalink,timestamp,username,comments_count}&access_token=<<アクセストークン(無期限のもの)>>
取得に成功すると以下のようなJSONテキストが返ってきますので後は環境の合わせてJSやPHP等で必要な形に整えて表示させます。
{
"name": "Analyzegear",
"media": {
"data": [
{
"caption": "Test post",
"like_count": 0,
"media_url": "https://scontent-nrt1-1.cdninstagram.com/v/t51.29350-15/124729125_366434408015258_9165584069664881614_n.jpg?_nc_cat=104&ccb=2&_nc_sid=8ae9d6&_nc_ohc=HqfA_3usCNkAX_NyXsC&_nc_ht=scontent-nrt1-1.cdninstagram.com&oh=2196b4d37dc6e0d7d81762f09303c6e3&oe=5FD0DDDF",
"permalink": "https://www.instagram.com/p/CHe15E3BYtF/",
"timestamp": "2020-11-12T07:13:21+0000",
"username": "analyzegear",
"comments_count": 0,
"id": "17885076199798030"
},
{
"like_count": 0,
"media_url": "https://scontent-nrt1-1.cdninstagram.com/v/t51.29350-15/123651723_400134401366779_675247083564889865_n.jpg?_nc_cat=102&ccb=2&_nc_sid=8ae9d6&_nc_ohc=goLBOoge7RgAX8F0toF&_nc_ht=scontent-nrt1-1.cdninstagram.com&oh=164fcb74bfa65542f4c27bff702f89c3&oe=5FD13FC2",
"permalink": "https://www.instagram.com/p/CHWzBFKh8Xx/",
"timestamp": "2020-11-09T04:14:19+0000",
"username": "analyzegear",
"comments_count": 0,
"id": "17883335842857901"
}
],
"paging": {
"cursors": {
"before": "xxxxxxxxxxxxxxxxxxxx",
"after": "xxxxxxxxxxxxxxxxxxxx"
}
}
},
"id": "<<InstagramビジネスアカウントID>>"
}
コメント