#021
posted on 2021.01.17

InstagramグラフAPIでハッシュタグやアカウント名を指定して投稿の取得。

InstagramグラフAPIで、ハッシュタグまたは自分以外のアカウント名を指定してInstagramの投稿をJSONデータで取得する方法のメモ。

(アカウント名指定の場合、対象アカウントがビジネスアカウントかクリエーターアカウントでなければデータの取得ができない。)

 

※ InstagramグラフAPIの有効期限の無いアクセストークンとビジネスアカウントIDの取得方法は前の記事を参照。

※ 取得したJSONデータの整形は前の記事を参照。

 

 

グラフAPIバージョン v9.0で検証。(グラフAPIのバージョン情報。)

 

 

インスタグラムのハッシュタグ指定で投稿を取得

自分が保有する「ビジネスアカウントのID」と「無期限アクセストークン」が事前に必要。

 

作業の手順。

  1. ハッシュダグのIDを取得。
  2. ハッシュダグのIDを指定して投稿情報を取得。

※ v9.0の時点で、おそらく取得件数の指定はできずデフォルト25件。(必要があれば、JSONデータの「’paging’」で取得できる「’after’」や「’next’」の値を使って次の25件を取得する。)

 

 

ハッシュタグのIDを取得

投稿のJSONデータを取得したいハッシュタグのIDを取得する。

ハッシュタグ検索の公式リファレンス

$graphapi_url = 'https://graph.facebook.com/v9.0/';//バージョンに合わせて変更
$id = 'ビジネスアカウントのID';
$query = 'IDを取得したいハッシュタグ';
$access_token = '無期限アクセストークン';

$data_url = $graphapi_url.'ig_hashtag_search?user_id='.$id.'&q='.$query.'&access_token='.$access_token;

 

ハッシュタグのIDを指定して投稿情報を取得

「最近の投稿」(recent_media)か「人気の投稿」(top_media)を指定して取得する。

 

v9.0で使用できる条件のパラメーター : recent_media,top_media

「最近の投稿」で取得できる「fields」のパラメーターの公式リファレンス

「人気の投稿」で取得できる「fields」のパラメーターの公式リファレンス

v9.0で取得できるパラメーター : caption,children,comments_count,id,like_count,media_type,media_url,permalink,timestamp

$graphapi_url = 'https://graph.facebook.com/v9.0/';
$hashtag_id = 'ハッシュダグのID';
$condition = 'recent_media(最近の投稿)かtop_media(人気の投稿)';
$id = 'ビジネスアカウントのID';
$fields = '取得したいパラメーター';
$access_token = '無期限アクセストークン';

$data_url = $graphapi_url.$hashtag_id.'/'.$condition.'?user_id='.$id.'&fields='.$fields.'&access_token='.$access_token;

 

 

インスタグラムのアカウント名指定で投稿を取得

自分が保有する「ビジネスアカウントのID」と「無期限アクセストークン」が事前に必要。

 

InstagramグラフAPIが提供する、自分以外のビジネスアカウントとクリエーターアカウントの情報取得ができるBusiness Discoveryの機能を使ってJSONデータを取得する。

(取得できるのはビジネスアカウントかクリエイターアカウントになっているユーザーの投稿のみ。)

 

※ 自分が保有しているアカウントの投稿情報を取得する場合は、Business Discoveryではなく通常の方法で指定してJSONデータを取得する。(前の記事を参照。)

 

 

Business Discoveryで取得できる「fields」のパラメーターの公式リファレンス

v9.0で取得できるパラメーター : id,ig_id,username,profile_picture_url,media_count,followers_count,follows_count,name,biography,website,permalink,media_type,media_url,children

$graphapi_url = 'https://graph.facebook.com/v9.0/';
$id = 'ビジネスアカウントのID';
$username = '取得したいアカウントのスラッグ';
$post_num = 10;//取得したい投稿数
$fields_01 = '取得したいアカウントのパラメーター';
$fields_02 = '取得したいメディアのパラメーター';
$access_token = '無期限アクセストークン';

$data_url = $graphapi_url.$id.'?fields=business_discovery.username('.$username.'){'.$fields_01.',media.limit('.$post_num.'){'.$fields_02.'}}&access_token='.$access_token;

 

 

この記事をシェア
この記事のURL

https://memo.ag2works.tokyo/post-837/

コピー
この記事のタイトル

InstagramグラフAPIでハッシュタグやアカウント名を指定して投稿の取得。 | memo メモ [AG2WORKS]

コピー
この記事のリンクタグ

<a href="https://memo.ag2works.tokyo/post-837/" target="_blank" rel="noopener">InstagramグラフAPIでハッシュタグやアカウント名を指定して投稿の取得。 | memo メモ [AG2WORKS]</a>

コピー
※ フィールドをクリックでコピーするテキストの編集ができます。

この記事へのコメント

コメントの書き込みはまだありません。

  • コメント内のタグはエスケープ処理され、文字列として出力されます。
  • セキュリティーのため、投稿者のIPアドレスは取得されます。
  • 管理者が内容を不適切と判断したコメントは削除されます。
  • このフォームにはスパム対策として、Googleの提供するreCAPTCHAシステムが導入されています。
    (Google Privacy Policy and Terms of Service.)