Facebook Graph API を使用して Instagram の投稿を取得する方法の概要

Facebook Graph API を使用して Instagram の投稿を取得する方法の概要

Instagram の投稿情報は、Facebook の提供するグラフ API を用いて取得することができます。 Instagram 基本表示 API という、別の API を使用する方法もありますが、こちらはできることがグラフ API よりも絞られています。

今回紹介する方法は、こちらの公式ドキュメント Instagram グラフ API に記載されている内容を、ざっくり解釈したものです。詳細な内容ではなく、大筋をお伝えできればと思います。

API から値を取得の事前準備

各種アカウントの用意

  1. Facebook アカウント
  2. Facebook ページ (Instagram と紐付けるためのページ)
  3. Instagram プロアカウント (ビジネスアカウントとクリエイターアカウントのどちらでもよい)

Instagram の投稿を、Facebook Graph API 経由で取得するために、Facebook のアカウントと Instagram のアカウントを紐付けた状態にしておく必要があります。
Instagram アカウントはプロアカウントである必要があり、紐付ける先は Facebook ページであることに注意が必要です。

Meta For Developers への登録とアプリの作成

  1. Meta For Developers への登録
  2. Meta For Developers でアプリの作成

グラフ API を使用するためには、Meta For Developers への登録が必要になります。登録後に新しいアプリを作成し、用意されている Instagram グラフ API の製品追加することで API が使用できるようになります。
この後の工程の、ユーザーアクセストークンの延長を API で行う場合には、「app-id, app-secret」の値を使用するので、控えておく必要があります。

Instagram の投稿を取得するためのアクセストークンについて

グラフ API には複数種類のトークンが用意されています。有効期間も短期と長期があります。
今回は、取得したい Instagram の投稿は FB ページに紐付けされていますので、ページアクセストークンの短期、または長期トークンのいずれかが必要です。詳細は アクセストークンガイド を参照してください。

ページアクセストークンの取得の流れ

目的となる ページアクセストークン は、ユーザーアクセストークンを使用して取得します。
ユーザーアクセストークン は、Meta For Developers の グラフ API エクスプローラ 上で得ることができます。
ページアクセストークンの有効期間が長期のものが必要な場合、長期ユーザーアクセストークンが必要となります。ページトークンの有効期限は、取得の際の、ユーザーアクセストークンの期限によって変わります。

1. ユーザーアクセストークンを取得する

  • Meta For Developers で作成したアプリのツールから、グラフ API エクスプローラを開く
  • 作成したアプリを指定する
  • アクセス許可に必要な許可を追加する
  • 設定を確認し、トークンを生成すると、ユーザーアクセストークン(短期)が取得できる

必要なアクセス許可については、Instagram グラフ API で使用したい API によって違います。Instagram の投稿が取得したい場合、IG メディア の API リファレンスで確認ができます。

2. 長期ユーザーアクセストークンを取得する

  • ページアクセストークンの期限が、短期で良い場合には不要
  • エクスプローラ、もしくは API の呼び出しによって取得できる

エクスプローラから延長する場合、アクセストークンツールから操作します。エクスプローラの、トークンが表示されている入力欄付近にあるインフォメーションマークから、ツールの画面に遷移できます。

API を使用する場合は、長期アクセストークンを取得する(長期ユーザーアクセストークンの取得) に記載の通りです。

3. ページアクセストークンを取得する

この工程では、エクスプローラを使用すると設定をミスしやすいので、API の使用が良いと思います。 手順は次の通り。

  • 下記 URL の{long-lived-user-access-token}を、2 で取得したトークンに置き換える。
  • ブラウザで URL にアクセスする。(curl コマンドで GET してもよい)
https://graph.facebook.com/{graph-api-version}/{app-scoped-user-id}/accounts?access_token={long-lived-user-access-token}

詳細は長期アクセストークンを取得する(長期ページアクセストークンの取得) を参照のこと。

おわりに

簡潔にまとめたかったのですが、ずいぶんと長くなってしまいました。 Facebook Graph API は、かなりややこしく感じますが、はじめにトークンから理解するとすんなり進めるような気がします。

関連記事


TOP
TOP