Instagram Graph API でハッシュタグを使用して画像検索する

技術的な小ネタ

前回、Instagram Graph API を利用するための準備をしました。

Instagram Graph API を利用してつまづいた話
Instagram Graph API を利用するためには、アクセストークンとか Instagram ビジネスアカウント ID とかを取得する必要があるのですが、その手続きがなかなかすんなりいきませんでした。また何かやろうとしたとき、同じ...

ここまでで、とりあえず Instagram Graph API が使用できている状態とします。

今回やりたいことは、Instagram Graph API の中の「Hashtag Search API」を使用して、任意のハッシュタグ付けされた投稿画像を検索するということです。


ちゃんと調べきれていないですが、もしかしたら検索対象はビジネスアカウントの投稿のみかもしれません。
わかり次第、記事を更新します。

↑ということはなかったです。普通にビジネスアカウント以外でも検索できるようです。

今回は、公式のドキュメントを参考にしながら、「coke」ハッシュタグの画像を最新投稿順または高評価順に検索するというのをチュートリアル的にやっていきます。

一連の流れ

大まかに以下の2ステップで実現できます。

  1. ハッシュタグ名をキーにして、Instagram Graph 上で管理されているハッシュタグIDを取得する
  2. ハッシュタグIDをキーにして、最新投稿順またはこう評価順に検索をかける

上記で画像のURLのコレクションが取得できるので、そのURLにアクセスすることで画像を取得できます。

思ったよりも結構簡単でした😀👍

①ハッシュタグ名をキーにして、Instagram Graph 上で管理されているハッシュタグIDを取得する

今回はチュートリアルとして「coke」のハッシュタグで検索します。

以下のように API を実行します。

https://graph.facebook.com/ig_hashtag_search?user_id=XXXXXXX&q=coke&access_token=YYYYYYY
  • XXXXXXX はインスタのビジネスアカウントID
  • YYYYYYY はアクセストークン
  • 「coke」の部分を任意の文字列に変えることで、任意のハッシュタグを指定することが可能

これを実行することで、以下のような感じでjsonを取得できます。

{
   "data": [
      {
         "id": "17841593698074073"
      }
   ]
}

この「17841593698074073」というのがハッシュタグ coke を示すハッシュタグIDです。

参考元は以下の公式ドキュメントです。

②ハッシュタグIDをキーにして、最新投稿順またはこう評価順に検索をかける

以下のように API を実行します。

最新投稿順で取得する場合

https://graph.facebook.com/17841593698074073/recent_media?user_id=XXXXXXX&fields=id,media_type,media_url,permalink&access_token=YYYYYYY

高評価順で取得する場合

https://graph.facebook.com/17841593698074073/top_media?user_id=XXXXXXX&fields=id,media_type,media_url,permalink&access_token=YYYYYYY
  • XXXXXXX はインスタのビジネスアカウントID
  • YYYYYYY はアクセストークン
  • 17841593698074073 はハッシュタグID

これを実行することで、以下のような感じでjsonを取得できます。

{
   "data": [
      {
         "id": "XXXXXXXX",
         "media_type": "IMAGE",
         "media_url": "画像へのURL",
         "permalink": "投稿へのパーマリンク"
      },
      ・
      ・
      ・
      (リスト)
      ・
      ・
      ・
   ],
   "paging": { 省略 }
}

画像へのURLが含まれたリストが取得できます。

例えば今回の「coke」の場合、最も高評価の画像として、以下のパーマリンクとして以下が取得できました。

Instagram

参考元は以下の公式ドキュメントです。

まとめ

たったこれだけのステップでハッシュタグの画像URLをコレクションで取得できるのは便利ですね。

問題はこの Instagram Graph API を使用できるまでの準備ですが、ここさえ乗り越えればかなりサクっといろんなことが出来そうです。

補足

ハッシュタグは日本語も可能です。

例えば「東京タワー」とした場合は、①のAPIは以下のようになります。

https://graph.facebook.com/ig_hashtag_search?user_id=XXXXXXX&q=東京タワー&access_token=YYYYYYY

コメント

タイトルとURLをコピーしました