Original Coast Clothing (OC)は、優れたカスタマーエクスペリエンスを提供するInstagramプラットフォームの主な機能を紹介するために作成された架空のファッションブランドです。このデモを参考にすれば、自動化機能とリアルタイムのカスタマーサポートの両方を備えた快適なInstagramのMessenger APIサポートエクスペリエンスを誰でも作成できます。アプリのオープンソースのコードと、ローカル環境またはリモートサーバーにエクスペリエンスをデプロイする方法に関するガイドが用意されています。これと同様のサンプルMessengerエクスペリエンスもあります。 @originalcoastclothingにメッセージを送信するか、投稿にコメントして、今すぐお試しください。 |
このエクスペリエンスは、以下のプラットフォーム機能を利用します。ページにこのエクスペリエンスをデプロイすることにした場合、コードは以下の機能をすべて使用します:
このガイドの手順を完了すると、完全なInstagramアプリをサーバー上で実行でき、アカウントからメッセージに応答できるようになります。
このエクスペリエンスを実現するコードはオープンソースです。どなたでも簡単に優れたメッセージエクスペリエンスの開発を始められます。
コードはBSDライセンスのもとでリリースされているので、実際のニーズに合わせて自由に使用できます。コードは、今後も参照できるようにGitHubでホストされています。
このセクションの目的は、Instagramアプリがメッセージを正常に送受信するために必要なすべてのアクセストークンとIDを収集することです。開始する前に、前述の要件をすべて満たしていることを確認してください。この時点で、ページ、登録済みのFacebookアプリ、およびInstagramプロアカウントがあるはずです。
新しいFacebookアプリを作成したばかりであれば、開発モードになっているはずです。このモードのアプリは、アプリに接続している人(管理者、開発者、テスター)にのみメッセージを送信できます。開発モードのままでもこのガイドの作業を進められますが、アプリを公開する準備ができたら、instagram_manage_messages
アクセス許可を取得するためにアプリレビューを受ける必要があります。詳しくは、アプリレビューをご覧ください
この時点で、次のものが揃っているはずです。
以下のボタンを使用して、HerokuまたはGlitchにエクスペリエンスを自動的にデプロイできます。セットアップを完了するために必要な環境変数を入力するように求められます。
HerokuにデプロイGlitchにデプロイトンネリングサービスを使用すると、FacebookのWebhookがアクセスできる外部URLにローカルウェブサーバーを公開できます。そのようなサービスは数多くあります。この例では、ngrokを使用します。
ローカルマシンにリポジトリのクローンを作成します。
git clone https://github.com/fbsamples/original-coast-clothing-ig.git cd original-coast-clothing-ig
ngrokがまだインストールされていなければ、ダウンロードしてインストールするか、コマンドラインで次のように指定してインストールしてください。
$ npm install -g ngrok
このリポジトリのディレクトリで、任意のポートを指定してローカルサーバーへのトンネルをリクエストします:
$ ngrok http 3000
画面にngrokのステータスが次のように表示されます:
Session Status online
Account Redacted (Plan:iuluufkccebegkhifrlgfhudrtbthgln Free)
Version 2.3.35
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://1c3b838deacb.ngrok.io -> http://localhost:3000
Forwarding https://1c3b838deacb.ngrok.io -> http://localhost:3000
ローカルマシンに転送される外部サーバーのhttps URLをメモします。上記の例では、https://1c3b838deacb.ngrok.io
です。
同じリポジトリのディレクトリで、新しいターミナルタブを開きます。
$ npm install
または、Yarnを使うこともできます。
$ yarn install
ファイル.sample.env
を.env
にコピーします:
$ cp .sample.env .env
.env
ファイルを編集して、アプリとページの値をすべて追加します。
$ node app.js
これで、ブラウザーからhttp://localhost:3000にあるアプリのデフォルトページにアクセスできるようになりました。
ステップ2でメモした外部URLからもアプリにアクセスできることを確認してください。
ローカルマシンにリポジトリのクローンを作成します。
git clone https://github.com/fbsamples/original-coast-clothing-ig.git cd original-coast-clothing-ig
ディレクトリがまだgitリポジトリでない場合は、gitリポジトリを作成します:
$ git init
Initialized empty Git repository in .git/
$ git add .
$ git commit -m "My first commit"
Heroku CLIがまだインストールされていない場合は、ダウンロードしてインストールします。
$ heroku apps:create
Creating app... done, ⬢ mystic-wind-83
Created http://mystic-wind-83.herokuapp.com/ | git@heroku.com:mystic-wind-83.git
アプリに与えられた名前をメモします。この例では、mystic-wind-83
です。
Herokuアプリダッシュボードでアプリを見つけて、ファイル.sample.env
内のコメントに従って構成変数を設定します。
または、コマンドラインで次のように環境変数を設定することもできます。
$ heroku config:set PAGE_ID=XXXX
$ git push heroku master
$ heroku logs --tail
以上でサーバーが実行されるようになりました。Webhookエンドポイントはパス/webhook
にあります。上記のHerokuの例では、パスはhttp://mystic-wind-83.herokuapp.com/webhook
になります。
[MessengerプラットフォームWebhooksガイド] (https://developers.facebook.com/docs/messenger-platform/webhooks)に従って、Webhookを設定します。
Webhookのサブスクリプション登録を確認したら、以下のイベントをサブスクリプション登録します。
サブスクリプション登録したイベントの横にある[テスト]ボタンをクリックして、Webhookをテストします。サーバーのログ出力にテストイベントが表示されるはずです。
「Instagramテスター」の役割でアカウントにログインした状態で、ページにリンクされているInstagramアカウントにメッセージを送信するか、投稿にコメントを残します。
Instagramにメッセージへの応答が表示されたら、アプリのセットアップは成功しています。うまくいきましたか?
Facebookアプリが開発モードのままになっている可能性があります。他のユーザーをアプリのテスターとして追加できます。そのユーザーが承認すれば、アプリからメッセージを送信できます。準備ができたら、誰にでも返信できるようにinstagram_manage_messages
アクセス許可をリクエストしてください。
このガイドに間違いを見つけた場合は、問題をお知らせください。