Instagram Webhooks 実装ガイド!コメントやDMに自動返信を実装可能に

はじめに
Instagramの新しいコメントやDMが届いたときに、自動で何かをしたり、自分のサービスに通知を送ったりしたいと思ったことはありませんか?
そんなときに利用できるのが「InstagramのWebhooks」です。
この記事では、アプリレビューなどは行わず、自分だけ(テスターアカウント)でWebhooksを試す方法を解説します。
まずは全体像を整理!Graph API と Webhooks の関係
Instagramでビジネスやクリエイター向けに提供されているAPIは、Instagram Graph APIと呼ばれています。そして、このGraph APIが「何かイベントが起きたよ!」と教えてくれる仕組みがWebhooksです。
コメント、メンション、DMなど、さまざまなイベント通知を受け取ることができます。
- Instagram Graph API:ビジネス/クリエイター向けの高機能API
- Webhooks:イベント発生時にAPIが自動で通知をくれる仕組み
利用方法
0. Instagram APIの利用
まずは下記記事の[Instagramログインを使用したAPI 設定方法]からAPIを利用できる状態にしてください。

1. アプリをライブモードに切り替える
APIを動かすためのアプリには、「開発モード」と「ライブモード」の2つがあります。
自分自身のテスターアカウントだけで使う場合でも、Webhooksを利用するためにはライブモードに切り替える必要が必要があります。
ライブモードに切り替えるには、アプリを利用する人に向けたプライバシーポリシーのURLを設定する必要があります。
このURLは誰でもアクセスできる公開されたものである必要があり、下記のような内容を記載して、外部に公開してください。
- データの種類:取得するデータ(例:ユーザーID、コメント本文、DMの内容など)
- 利用目的:何のためにそのデータを使うのか(例:通知、自動返信、不具合調査など)
- データの保管場所・期間:どこにどれくらいの期間データを保存するか
アプリ自体は自分自身しか利用せず、アプリレビューも通さないためこのURLには公開されているページであれば何を入力してもライブモードに切り替えることはできます。
ただし、何かあった時のために下記のようなページを用意しておくのが無難です。

- 作成したアプリの左メニュー[アプリの設定]>[ベーシック]をクリックします。
- [プライバシーポリシーのURL]にSTEP1で作成したURLを入力します。
- [変更を保存]をクリックします。

アプリの上部に表示されている[アプリのモード]を開発からライブに切り替えます。

少し待つとライブモードにに切り替わります。

2:Webhooks設定
続いて、Webhookの設定を実施していきます。
左メニュー[Instagram]>[InstagramログインによるAPI設定]をクリックします。
[1.アクセストークンを生成する]で設定されているテストユーザでWebhookサブスクリプションをクリックしてオンにします。

- [2.Webhooksを設定する]をクリックします。
- [コールバックURL]と[トークンを認証]に値を入力して[確認して保存]をクリックします。
[コールバックURL]にはWebhooksを受け取るサーバのアドレス(例:GASのWebアプリURLなど)、[トークンの認証]には任意の文字列(認証用トークン)を入力します。
1. サブスクリプション検証(GET)
Metaが「これから通知を送るから、君のサーバーに間違いはない?」と確認するために、コールバックURL
にGETリクエストを送ってきます。このとき、Meta側は3つのパラメータ(hub.mode
、hub.verify_token
、hub.challenge
)を付けてきます。
あなたのサーバーは、hub.verify_token
があなたが設定した認証用トークン
と一致することを確認し、hub.challenge
の値をそのままMetaに返してあげればOKです。
2. 通知受信(POST)
検証が成功すれば、以降はイベントが発生したときにPOSTリクエストで通知が届くようになります。
[2.Webhooksを設定する]の下部にあるWebhookフィールドまで移動します。
ここでは「どんなときにWebhookを受け取りたいか」を具体的に選びます。ダッシュボードでは、以下の項目が例として選択できます。
comments
:投稿に新しいコメントが付いたときmentions
:キャプションやコメントで@
メンションされたときlive_comments
:ライブ配信にコメントが付いたときmessages
:DMが届いたとき
自分の目的合わせて、必要なものだけをONにします。
3:アプリ側の設定
これでアプリ側の設定は完了になります。
あとは自身のWebhookを受け取る側の設定をすればWebhookを受け取れるようになります。
必要に応じてアプリ側の[Webhookフィールド]で選択できる「テスト」をクリックしてテストしてください。