9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Wano GroupAdvent Calendar 2024

Day 25

クリスマス行動調査報告をしたかった2024【InstagramAPI】

Last updated at Posted at 2024-12-25

この記事は Wano Group Advent Calendar 2024 25日目(最終日:xmas-tree:)の記事です

昨日は @ktat さんの Google Cloud の請求先アカウントごとにメールの送信先を変える - あるいはGoogleのUIへの愚痴 が公開されていますので、こちらもぜひご覧ください:point_up:

アドカレ最終日…!

みなさんこんにちは!アドカレ12日目にもおりました @rom1000_onigiri です:qiitan:
WanoGroupのアドカレも本日で締めとなります:clap:
締めのテーマはクリスマスにちなんで、InstagramAPIを使って巷の人間たちは誰とどう過ごしているのかをざっくり調査してみました。

…結果は不問としてください(最後まで読んでみてください)

調査方法

InstagramAPIを用いる。
今回は APIを叩いたその時間から24時間以内の、特定のハッシュタグがついた投稿 を取得する。
特定のハッシュタグの種類は、以下とする。

  • #クリスマス #デート
  • #クリスマス #友達
  • #クリスマス #家族
  • #クリスマス #バイト
  • #クリスマス #仕事
  • #クリスマス #ぼっち

Instagramアカウントの準備

※アカウントを持っていない場合は新規登録をすること

アカウントタイプの切り替え

APIをしようするにはビジネスアカウントでないといけないので切り替えの対応が必要となる。

  1. その他 > アカウントの種類とツール > プロアカウントに切り替える
    image.png
    2. ビジネスを選択
    image.png
    3. これ以降は適当に(連絡先情報は入力しなくても進める)
    4. 完了
    image.png

Facebookアカウントの準備

※アカウントを持っていない場合は新規登録をすること

ページの作成

image.png

InstagramアカウントとFacebookアカウントの連携

Facebook側から連携

image.png
image.png

Instagramのプロアカウントが候補に出てくるので、それを選択すると承認リクエストポップアップが出るのでログイン。
スクリーンショット 2024-12-25 8.54.09.png

このモーダルが出たら連携完了。
image.png

FacebookとInstagramを連携すると、Facebook側でInstagram側のDMが見られる設定になるので、複数人でFacebookの運用をしている場合は注意すること
(ただし「受信箱でInstagramメッセージへのアクセスを許可する」をOFFにした場合を除く)
image.png

Facebookアプリを作成する

Meta for Developersに登録

https://developers.facebook.com/
image.png
基本的に、案内に沿って登録すれば問題なかった。

アプリの作成

image.png
image.png
基本的に、案内に沿って登録すれば問題ないが、
ユースケースは その他 を選択し、次の項目で ビジネス を選択すること。

image.png
次のセクションで ビジネスポートフォリオ が設定できるようになっているので、前項で連携したInstagramアカウントを選択する。

image.png
この画面になったらアプリ作成完了。

トークンを取得する

1つ目:有効期限1時間

image.png
image.png
アクセス許可で以下の項目を追加して、アクセストークンを生成。

  • instagram_basic
  • instagram_manage_comments
  • instagram_manage_insights
  • instagram_manage_messages
  • instagram_content_publish
  • business_management
  • pages_show_list
  • pages_read_engagement

image.png

2つ目:有効期限2ヶ月

トークンが生成された横にあるinfoマークの押下すると詳細情報が表示される。
下の方にある「アクセストークンツールで開く」を押下。
image.png

遷移したページの一番下にある「アクセストークンを延長」を押下。
image.png

image.png
延長完了。

3つ目:有効期限無制限

前項の画像右端にある「デバッグ」を押下し、遷移先のページ上部にあるトークンをコピー。
image.png

先ほどのグラフAPIエクスプローラーに戻り、コピーしたトークンを貼り付ける。
次にGETするURL部分を me/accounts に置き換える。
最後に「送信」を押下し、期限無制限の最終アクセストークンが発行される。( ここまで長えよ。。
このトークンを使用してAPI叩くので、控えておく。
image.png
image.png

ビジネスアカウントIDの取得

グラフAPIエクスプローラのGETするURLに me?fields=accounts{instagram_business_account} と入力し「送信」を押下。
このIDも使用するので控えておく。
image.png

特定のハッシュタグがついた投稿を取得する

ハッシュタグAPIには下記の制限がある

  • 1週間で取得できるハッシュタグは 30個 まで
    • 人気投稿APIと最新投稿API合わせて30個まで
  • (今回は使用しないが)画像情報は 8時間 で無効になる

ハッシュタグIDを取得する

グラフAPIエクスプローラのGETするURLに下記のクエリを当てはめていき、ただひたすら送信 → ID控え。

  • エンドポイント
    • ig_hashtag_search
  • user_id パラメータ
    • 控えておいてあるビジネスアカウントのID
  • q パラメータ
    • 取得したいハッシュタグ
      image.png
各ハッシュタグID
ハッシュタグ ID
クリスマス 17844009163028327
デート 17843869810054283
友達 17841563827122291
バイト 17841564262102268
仕事 17841564040106788
家族 17841563074128611
ぼっち 17843731684035203

ハッシュタグIDから投稿データを取得する

前項同様、グラフAPIエクスプローラのGETするURLに下記のクエリを当てはめていき送信

  • エンドポイント
    • ${ハッシュタグID}/recent_media
  • user_id パラメータ
    • 控えておいてあるビジネスアカウントのID
  • access_token パラメータ
    • 控えておいてあるアクセストークン
      image.png

画像では投稿idのみ取得しているが、 fields パラメータにいいね数やコメント数などを入れることによって他の情報を取得することもできる
取得できる情報の詳細は 公式リファレンス

調査結果

limitが強制的に50件になってしまう罠 + リクエスト数上限の関係で、すべてのハッシュタグ投稿数を調査することはできなかった。
結果、調査失敗として終了する。 ズコーーーーッ

総評

総投稿数は取得できなかったが、デートしているアカウントは少なくとも300以上いた(ひたすらpagingのnextURLを叩いた)


アドベントカレンダーの最後の最後に、毒にも薬にもならない内容で締めてしまい、本当に申し訳ございませんでしたー!!!!

備考

無念な結果に終わったが、自分はこれから予約していたクリスマスケーキとチキンを取りに行き、豪華なクリスマスディナーを :man: :heart: 1人と :cat2: 2匹で過ごすので、特に悔しさなどはない。 …ないいぃ!!!!!!!!!

PR

現在、Wanoグループ / TuneCore Japan では人材を募集しています。興味のある方は下記をご参照ください:information_desk_person:

Wano | Wano Group JOBS
TuneCore Japan | TuneCore Japan JOBS

9
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?