Because We Love Happy Coding

フリーライターからエンジニア × 講師。発信力だけあり余ってる感じ

instagramGraphAPIについて調べてみた

今日もまたコーディング。だって僕らはHappy Codingが大好きだから。

目次

instagramFacebookに買収された関係で、それまでのInstagram APIが非推奨になり、FacebookのGraph APIに統合された。しばらくの間はAPI経由でのハッシュタグ検索ができないなどの状況があったようだが、2018年10月にはまたハッシュタグ検索も復帰した模様。

Facebook Graph API

InstagramグラフAPI - Instagramプラットフォーム

instagram Graph APIに進む前に、先にFacebook Graph APIの基本を身につけておくとよい、とある。

グラフAPI

やや古いInstagram APIはこちら。

Instagram Developer Documentation

Facebook Graph APIの使い方

access_token パラメータでnode(ページ、画像などのオブジェクト)を取得する。

詳細は アクセストークン - Facebookログイン を参照。

新Instagram Graph APIを使ってインスタグラムの画像をWebサイトに表示させる | GOO-UP(グーアップ)

上記サイトの手順でとりあえずやってみる。

準備

  1. An Instagram Business Account or Instagram Creator Account
  2. A Facebook Page connected to that account
  3. A Facebook Developer account that can perform Tasks on that Page
  4. A registered Facebook App with Basic settings configured

最終的に得られる情報

Facebook for developer

アプリを作成

アプリの「設定>ベーシック」で調べて書き留めておく。

  • アプリ名
  • app secret

グラフAPIエクスプローラ

グラフAPIエクスプローラーは、パラメータを与えてやるとAPIから戻ってくる値を見ることができる、シミュレーターみたいな感じのツール。

グラフAPIエクスプローラー

「ユーザーアクセストークンを取得」「アプリトークンを取得」「ページアクセストークンを取得」の3つの選択肢がある。そのうち「ユーザーアクセストークンを取得」を選ぶ。

許可を追加する。

  • manage_pages ページの管理
  • pages_show_list 管理しているページのリストを表示する
  • publish_pages ページとして投稿する
  • instagram_basic

上記ユーザーアクセストークンとアプリIDとapp secretで以下にアクセス

https://graph.facebook.com/v3.0/oauth/access_token?grant_type=fb_exchange_token&client_id=【アプリID】&client_secret=【app_secret】&fb_exchange_token=【トークン】

access_tokenを書き留めておく。

https://graph.facebook.com/v3.0/me?access_token=【第2トークン】

表示されるnameidを書き留めておく

https://graph.facebook.com/v3.0/【id】/accounts?access_token=【第2トークン】

表示されたaccess_tokenを書き留める。これが期限なしの第3トークン。

instagramビジネスアカウントを取得

ビジネスアカウント、クリエイターアカウント

どう使う?Instagramに新しく追加されたクリエイターアカウント

クリエイターアカウントのススメ[Instagram]|まつだれいな|note

インスタ新機能 8 選:クリエイターアカウントからストーリー新機能まで徹底解説 【2019年版】

ハッシュタグ検索

GraphAPIへの移行期に一時期使えなくなっていたようですが、2,018年10月頃から、また使えるようになったみたいです。

Hashtag Search - Instagramプラットフォーム

Instagram Graph API: Hashtag Search Launch

グラフAPIを使って任意のハッシュタグを持つ投稿をインスタグラムから取得する - Qiita

【新APIに対応】ハッシュタグ投稿収集機能を実装してリニューアル!⁻SmartHash|WWSのプレスリリース

APIエクスプローラーでいろいろ試す。

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_typeCAROUSEL_ALBUMのものについてはchildren{mediatype, media_url}のようにしてフィールドを追加する。

/ハッシュタグID/recent_media/?fields=caption,media_type,media_url,children{mediatype, media_url}&user_id=ビジネスID

参考記事