記事
PR

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

sanane
記事内に商品プロモーションを含む場合があります

はじめに

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を利用できる状態にしてください。

あわせて読みたい
Instagram APIの利用方法!FacebookログインとInstagramログインの2種類について解説
Instagram APIの利用方法!FacebookログインとInstagramログインの2種類について解説

1. アプリをライブモードに切り替える

APIを動かすためのアプリには、「開発モード」と「ライブモード」の2つがあります。

自分自身のテスターアカウントだけで使う場合でも、Webhooksを利用するためにはライブモードに切り替える必要が必要があります。

プライバシーポリシーの作成

ライブモードに切り替えるには、アプリを利用する人に向けたプライバシーポリシーのURLを設定する必要があります。

このURLは誰でもアクセスできる公開されたものである必要があり、下記のような内容を記載して、外部に公開してください。

  • データの種類:取得するデータ(例:ユーザーID、コメント本文、DMの内容など)
  • 利用目的:何のためにそのデータを使うのか(例:通知、自動返信、不具合調査など)
  • データの保管場所・期間:どこにどれくらいの期間データを保存するか

ページの公開方法は当記事では記載しませんが、GitHub PagesやGoogle Sitesなどを利用して公開することが可能です。

アプリ自体は自分自身しか利用せず、アプリレビューも通さないためこのURLには公開されているページであれば何を入力してもライブモードに切り替えることはできます。

ただし、何かあった時のために下記のようなページを用意しておくのが無難です。

あわせて読みたい
Instagram アプリ プライバシーポリシー
Instagram アプリ プライバシーポリシー
プライバシーポリシーURLの入力
  1. 作成したアプリの左メニュー[アプリの設定]>[ベーシック]をクリックします。
  2. [プライバシーポリシーのURL]にSTEP1で作成したURLを入力します。
  3. [変更を保存]をクリックします。
ライブモードへの切り替え

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

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

2:Webhooks設定

続いて、Webhookの設定を実施していきます。

Webhookサブスクリプションをオン

左メニュー[Instagram]>[InstagramログインによるAPI設定]をクリックします。

[1.アクセストークンを生成する]で設定されているテストユーザでWebhookサブスクリプションをクリックしてオンにします。

Webサブスクリプションを有効にするには事前にトークンを生成しておく必要があります。

コールバックURLと認証用トークンの作成
  • [2.Webhooksを設定する]をクリックします。
  • [コールバックURL]と[トークンを認証]に値を入力して[確認して保存]をクリックします。

[コールバックURL]にはWebhooksを受け取るサーバのアドレス(例:GASのWebアプリURLなど)、[トークンの認証]には任意の文字列(認証用トークン)を入力します。

補足

1. サブスクリプション検証(GET)

Metaが「これから通知を送るから、君のサーバーに間違いはない?」と確認するために、コールバックURLGETリクエストを送ってきます。このとき、Meta側は3つのパラメータ(hub.modehub.verify_tokenhub.challenge)を付けてきます。

あなたのサーバーは、hub.verify_tokenがあなたが設定した認証用トークンと一致することを確認し、hub.challengeの値をそのままMetaに返してあげればOKです。

2. 通知受信(POST)

検証が成功すれば、以降はイベントが発生したときにPOSTリクエストで通知が届くようになります。

Webhookフィールドの選択

[2.Webhooksを設定する]の下部にあるWebhookフィールドまで移動します。

ここでは「どんなときにWebhookを受け取りたいか」を具体的に選びます。ダッシュボードでは、以下の項目が例として選択できます。

  • comments:投稿に新しいコメントが付いたとき
  • mentions:キャプションやコメントで @ メンションされたとき
  • live_comments:ライブ配信にコメントが付いたとき
  • messages:DMが届いたとき

自分の目的合わせて、必要なものだけをONにします。

3:アプリ側の設定

これでアプリ側の設定は完了になります。

あとは自身のWebhookを受け取る側の設定をすればWebhookを受け取れるようになります。

必要に応じてアプリ側の[Webhookフィールド]で選択できる「テスト」をクリックしてテストしてください。

記事URLをコピーしました