COLUM

コラム

Instagram Graph API(Ver12.0更新…ムムム!)

Instagram Graph API(Ver12.0更新…ムムム!)

完全な自社用忘備録その5です。(自社用なので、テキストのみです。画像が無いので判りづらい方、ゴメンナサイ。間違ってたらゴメンナサイ)

半年ぶりにInstagramAPIのエラー発生・・・もうね、どうせVersion上がってるでしょ!なにか仕様変ったんでしょ(感情がない目)

ということでVer12.0で新規取得した流れです・・・が、あとでバージョンアップが原因ではなかった!

※すでに埋込で使用していたHPでエラーのため、再設定の手順です。
InstagramAPIはマイアプリで設定しますが、修正よりも新規でアプリを作り直した方が失敗が少なくて済みます。

 

前提として

・今回はすでに利用していたfacebookアカウントでの再設定

まず、FBに該当アカウントでログインしている状態で下記にアクセス
https://developers.facebook.com/


上部メニューより「マイアプリ」を選択

 

❶ まずは 

エラーとなったアプリで表示されているので(後で削除推奨)、それは無視して「アプリを作成」クリック

アプリタイプ:ビジネス → 次へ

 

❷ 1番目のアクセストークンを取得

 上部メインメニューの「ツール」→「グラフAPIエクスプローラ」をクリック

「ユーザーアクセストークンを取得」を選択し表示されたら、アクセス許可は以下を設定

public_profile
business_management
pages_manage_ads
pages_manage_metadata
pages_read_engagement
pages_read_user_content
pages_show_list

instagram_basic
instagram_manage_comments
instagram_manage_insights

その後【Generate Access Token】クリックして
【1番目のアクセストークン】を取得
 

 

❸ 2番目のアクセストークンを取得

表示されたアクセストークンの左側にある〇に!をクリックするとアクセストークン情報が表示されるので、「アクセストークンツールで開く」をクリックアクセストークンデバッガー - Facebook for Developers
が開くので、【アクセストークンを延長】をクリック。

すると、「この長期アクセストークンは〇〇〇〇年〇〇月〇〇日に期限切れとなります」(有効期限2か月のトークン)と表示されるので、
表示されたトークン横の「デバック」クリック
すると、アクセストークンデバッガーページが更新され、再度表示されます。
この時一番上に表示されるのが、
【2番目のアクセストークン】です。

 

❹ 3番目のアクセストークンを取得

❷で表示した、「グラフAPIエクスプローラ」を開き、
・アクセストークンの項目に【2番目のアクセストークン 】を入力
・GET▼→v?.0▼/の欄に【 me/accounts 】と入力。
・「送信」クリック
すると中央に"data":~~が表示されるので、該当する"name"の"access_token"が、
【3番目のアクセストークン】です(無期限トークンです)
※無期限トークンかどうかは、
https://developers.facebook.com/tools/debug/accesstoken
にアクセス後、3番目のアクセストークンを入力して「デバック」して、期限が切られてなければOKですが、3番目のアクセストークンが以後の流れではあまり重要ではないので確認の必要はない。

 

❺ エラー

再度❷番で表示した、「グラフAPIエクスプローラ」を開き、
・アクセストークンの項目に【 3番目のアクセストークン 】を入力。
・GET▼→v?.0▼/の欄に【 me?fields=accounts{instagram_business_account} 】と入力
・「送信」クリック
すると必ず「エラー」となります。(検証したらVer8.0からどうも以下の流れになってた)

 

❻ 今度はOK?

❺番でエラーになった後に、(以下は❸番で画面更新された後に再度デバックするのと同じ作業ですが、❺番で1度エラーにならないとなぜか無期限トークンに切り替わらない)
アクセストークンデバッガー:
https://developers.facebook.com/tools/debug/accesstoken
にアクセス後、「2番目のアクセストークン」を入力して「デバック」
すると、アクセストークンデバッガーページが更新され、2番目のアクセストークンが綴りはそのままに【無期限トークン】に切り替わります。
この時一番上に表示されるのが、
【(便宜上)4番目のアクセストークン(=2番目のアクセストークン)】です。

 

❼ Instagramビジネスアカウント

❺番と同じ手順で、4番目のアクセストークンで実行すると、エラーとならず
中央に"accounts"~が表示されるので、該当する"instagram_business_account"の値が【Instagramビジネスアカウント】です。
(複数を管理している場合、複数現れますので、❷番目で表示されるアカウント順の場所が該当するアカウントになります)

 

➑ 確認

下記で【4番目のアクセストークン】【Instagramビジネスアカウント】を該当箇所に置き換えて

https://graph.facebook.com/v12.0/【Instagramビジネスアカウント】?fields=name%2Cmedia.limit(【表示件数】)%7Bcaption%2Clike_count%2Cmedia_url%2Cpermalink%2Ctimestamp%2Cusername%7D&access_token=【4番目=2番目のアクセストークン】


(一致するバージョンを記入)
ブラウザで実行して、JSON形式情報が表示すれば完了です

 

補足

❺番の一度エラーにならないと・・・というところは、毎度のことながら今回もアプリを何度作り直しても、別のFBアカウントでも同じ結果でした。
なんなんだろ、これ・・・。

 

今回、結果的に設定自体はV10.0となんら変更はありません。ただ、埋込表示に障害が出て設定を何度やってもエラーとなっていました。

そこで、FB本体にアクセスしてみたところ、Instagramとの連携部分で「リンクの確認」のメッセージがでており、どうもこれが原因だったようです(連携自体はできているものの権限に制限が課せられていました)

そこでInstagramのログイン情報はいただけていなかった為、お客様に

1.一旦Instagramとの連携削除
2.該当のInstagramのアカウント状況の確認(誤って通常のアカウントにしていないか?プロアカウントになっているか?)
3.再度FBで連携処理

をお願いし、「リンクの確認」が出ていないことを確認して、設定したところ問題なくJSON情報が取得できました。

 

ちょっと調べてみたらFBにしろInstagramにしろ、サービスの利用状況の確認メールが不定期(30日、60日、90日、180日、360日毎などみたいですが、はっきりわかりません)に送ってきてるようで(自社分で気づいたら処理していたので、処理しないでいたら・・・がわかっていませんでした)。
このメールを無視していると、確認が取れないということで権限になんらかの制限を課す(たぶんこれが「リンクの確認」の原因・・・たぶんですよ!)。
ということを実施しているように見受けられますので、利用されてる方はアンテナ張っておいた方がよさそうですよ。

 

で、さんざん社内向けに書いてましたが、上記の設定(自動更新で最新記事から複数のInstagram投稿をHPに表示させる)を弊社では保守の一環でやってましたので、バージョンアップに伴う障害発生での作業は保守内で行うのですが、情報収集の過程でこれ有料サービス(単発対応で5~10万円!!)してるとこいっぱいあるやん!に気づきました!!

どうしてもうまくいかんのやけど・・・みたいな全国のあなた!
保守(今回の対応だけでも元取れますよw)を依頼いただければ、保守の一環でやっちゃいますよ~と一応営業しておきます!(保守ありきなので結局は有償やんか!の声は聞きません)

 

| 一覧へ |

CONTACT

092-406-9941

受付 9:30~18:00(土・日・祝日除く)

MEETING

福岡市近郊は
無料でお伺いします

九州