目次
- 目次
- Facebook Graph API
- Facebook Graph APIの使い方
- 最終的に得られる情報
- Facebook for developer
- ダッシュボード
- グラフAPIエクスプローラー
- アクセストークンデバッガー
- ビジネスアカウント、クリエイターアカウント
- ハッシュタグ検索
- APIエクスプローラーでいろいろ試す。(v4時点の情報)
- 参考記事
instagram がFacebookに買収された関係で、それまでのInstagram APIが非推奨になり、FacebookのGraph APIに統合された。しばらくの間はAPI経由でのハッシュタグ検索ができないなどの状況があったようだが、2018年10月にはまたハッシュタグ検索も復帰した模様。
Facebook Graph API
InstagramグラフAPI - Instagramプラットフォーム
instagram Graph APIに進む前に、先にFacebook Graph APIの基本を身につけておくとよい、とある。
Instagram Developer Documentation
Facebook Graph APIの使い方
access_token パラメータでnode(ページ、画像などのオブジェクト)を取得する。
詳細は アクセストークン - Facebookログイン を参照。
上記サイトの手順でとりあえずやってみる。
準備
- An Instagram Business Account or Instagram Creator Account インスタグラムのビジネスアカウントまたはクリエイターアカウント
- A Facebook Page connected to that account そのアカウントに接続されたFacebookページ
- A Facebook Developer account that can perform Tasks on that Page そのパージのタスクを実行できるFacebook開発者アカウント
- A registered Facebook App with Basic settings configured 基本設定が終わっている登録済みFacebookアプリ
最終的に得られる情報
Facebook for developer
「アプリの作成」をクリック。
新しいアプリIDを作成
表示名に「insta」のような語を使おうとすることはできません。
「アプリIDを作成してください」をクリック
何度も失敗するとreCAPTCHAのチェックが入ります。
ダッシュボード
まず、アプリの「設定>ベーシック」で以下の情報を調べて書き留めておく。
- アプリID
- app secret
グラフAPIエクスプローラー
グラフAPIエクスプローラーは、パラメータを与えてやるとAPIから戻ってくる値を見ることができる、シミュレーターみたいな感じのツール。
1.右のドロップダウンメニュー「Facebookアプリ」から、インスタグラムに関連付けるアプリを選択する。 2.右のドロップダウンメニュー「ユーザーまたはページ」には、「ユーザーアクセストークンを取得」「アプリトークンを取得」「ページアクセストークンを取得」の3つの選択肢がある。そのうち「ユーザーアクセストークンを取得」を選ぶ。
別ウィンドウが開いてFacebookへのログインと権限許可が求められます。
3.右のドロップダウンメニュー「ユーザーまたはページ」許可を追加する。
- business_management
- pages_show_list 管理しているページのリストを表示する
- instagram_basic
「manage_pages ページの管理」「publish_pages ページとして投稿する」は廃止された模様。
追加したらしっかり「GenerateAccessToken」ボタンをクリックして更新し、アクセストークンに保存しておく。
上記ユーザーアクセストークンとアプリIDとapp secretで以下にアクセス
https://graph.facebook.com/v7.0/oauth/access_token?grant_type=fb_exchange_token&client_id=【アプリID】&client_secret=【app_secret】&fb_exchange_token=【トークン】
access_token
を書き留めておく。これが第2トークン。
https://graph.facebook.com/v7.0/me?access_token=【第2トークン】
表示されるname
とid
を書き留めておく。これがfacebook ID。
https://graph.facebook.com/v7.0/【Facebook ID】/accounts?access_token=【第2トークン】
表示されたaccess_token
を書き留める。これが期限なしの第3トークン。
アクセストークンがたくさん並んでいる場合
自分が管理しているFacebookページごとにaccess_tokenが並んでいる。
\u3042
のような文字列はUnicodeのエスケープシーケンスと呼ばれるものなので、解読するにはデコードが必要。
Unicodeエスケープシーケンス デコード - Google 検索
Facebookページの名前が英語の場合はそのまま表示されるのでわかりやすいが、日本語の場合はエスケープシーケンスになってしまうので判読しづらい。
戻って来たデータが空っぽの場合
権限を追加した際に「GenerateAccessToken」ボタンを押し忘れた可能性が高い。
もう一度「GenerateAccessToken」ボタンをクリックしてアクセストークンを更新したら、再度トライ。
https://graph.facebook.com/v7.0/【Facebook ID】/accounts?access_token=【第2トークン】
アクセストークンデバッガー
アクセストークンデバッガー - Facebook for Developers
アクセストークンを入力して内容を確認。
「有効期限」が「受け取らない」になっていることを確認する。
ビジネスアカウント、クリエイターアカウント
instagramには「プロアカウント」という括りがアリ、「ビジネスアカウント」と「クリエイターアカウント」がある。
どう使う?Instagramに新しく追加されたクリエイターアカウント
クリエイターアカウントのススメ[Instagram]|まつだれいな|note
インスタ新機能 8 選:クリエイターアカウントからストーリー新機能まで徹底解説 【2019年版】
スマートフォンのinstagramアプリからアカウント設定に入ると、「プロアカウントにする」というリンクがあるのでそこから変更することができる。
ハッシュタグ検索
GraphAPIへの移行期に一時期使えなくなっていたようですが、2,018年10月頃から、また使えるようになったみたいです。
Hashtag Search - Instagramプラットフォーム
Instagram Graph API: Hashtag Search Launch
グラフAPIを使って任意のハッシュタグを持つ投稿をインスタグラムから取得する - Qiita
【新APIに対応】ハッシュタグ投稿収集機能を実装してリニューアル!⁻SmartHash|WWSのプレスリリース
APIエクスプローラーでいろいろ試す。(v4時点の情報)
GET→/v4.0/
という表記の右にある空欄に、クエリ文字列を入れていく。
ハッシュタグの画像をとりたい場合。
/ig_hashtag_search?user_id=ビジネスID&q=検索したいハッシュタグ文字列
これでハッシュタグIDを取得。
/ハッシュタグID/recent_media/?user_id=ビジネスID
でとりあえず、ハッシュタグの画像IDがずらっと出てくる。追加で欲しい項目があるなら、左ペインで取得したいフィールドを追加する。
/ハッシュタグID/recent_media/?fields=caption,media_type,media_url&user_id=ビジネスID
media_type
がCAROUSEL_ALBUM
のものについてはchildren{mediatype, media_url}
のようにしてフィールドを追加する。
/ハッシュタグID/recent_media/?fields=caption,media_type,media_url,children{mediatype, media_url}&user_id=ビジネスID
参考記事
- Instagram の API (2020年4月以降) - Qiita
- InstagramグラフAPI - Instagramプラットフォーム
- グラフAPI
- アクセストークン - Facebookログイン
- 新Instagram Graph APIを使ってインスタグラムの画像をWebサイトに表示させる | GOO-UP(グーアップ)
- どう使う?Instagramに新しく追加されたクリエイターアカウント
- クリエイターアカウントのススメ[Instagram]|まつだれいな|note
- インスタ新機能 8 選:クリエイターアカウントからストーリー新機能まで徹底解説 【2019年版】
- Hashtag Search - Instagramプラットフォーム
- Instagram Graph API: Hashtag Search Launch
- グラフAPIを使って任意のハッシュタグを持つ投稿をインスタグラムから取得する - Qiita
- 【新APIに対応】ハッシュタグ投稿収集機能を実装してリニューアル!⁻SmartHash|WWSのプレスリリース