InstagramグラフAPIでハッシュタグやアカウント名を指定して投稿の取得。
InstagramグラフAPIで、ハッシュタグまたは自分以外のアカウント名を指定してInstagramの投稿をJSONデータで取得する方法のメモ。
(アカウント名指定の場合、対象アカウントがビジネスアカウントかクリエーターアカウントでなければデータの取得ができない。)
※ InstagramグラフAPIの有効期限の無いアクセストークンとビジネスアカウントIDの取得方法は前の記事を参照。
※ 取得したJSONデータの整形は前の記事を参照。
インスタグラムのハッシュタグ指定で投稿を取得
自分が保有する「ビジネスアカウントのID」と「無期限アクセストークン」が事前に必要。
作業の手順。
- ハッシュダグのIDを取得。
- ハッシュダグの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;
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>
この記事へのコメント
コメントの書き込みはまだありません。