web-dev-qa-db-ja.com

メッセンジャーWebhookでローカルホストをURLコールバックとして使用できますか

こんばんは、Facebookが彼のメッセンジャーボットツールキットをリリースしたのを見て、私はすぐにそれに飛び込んで、それについてもっと学び、多分自分でやろうとしました。

私の問題は、https Webサイトを実行しておらず、httpsの有効なURLが必要なことです。証明書のあるローカルWebサーバーを使用しようとしましたが、機能しません。

私の質問は、これがローカルホストのURLを使用して実行できるかどうかです。

前もって感謝します

12
Query

実際、これはlocalhostで可能です。 ngrok を使用します。これにより、ローカルホストをhttpまたはhttps経由でパブリックWebに開くことができます。ただし、これはテストにのみ使用する必要があります。

16
dankram

ローカル環境でWebhookをテストする場合は、ultrahook.comを試してみます。無料でAPIキーを取得でき、ツールはパブリックURLからコンピューターへのトンネルを作成します。これは彼らのFAQページからです:

UltraHookクライアントをコンピューターにダウンロードして実行します。クラウド内のUltraHookサーバーに接続し、サーバー上のパブリックエンドポイントからコンピューターへのトンネルを作成します。パブリックエンドポイントに送信されたHTTP POSTリクエストは、トンネルを介して送信され、コンピューターからアクセス可能なプライベートエンドポイントに配信されます。

私はこれを使用して、さまざまなプロバイダー(支払いゲートウェイなど)からのWebhookをテストしました。コンピューターでは、次のようなものを実行できます。

ultrahook <subdomain> http://localhost:8000/webhook/

次に、外部サービスのWebhookURLを<subdomain>.ultrahook.comのように構成します。

1
julianm

私の質問は、これがローカルホストのURLを使用して実行できるかどうかです。

いいえ、もちろんそうではありません。そのような「コールバック」が実際に意味するのは、Facebookがサーバーにリクエストを送信することであり、それはlocalhostではほとんど不可能です。


最近では、LetsEncryptを使用して、Webサイトの有効なSSL証明書を無料で簡単に取得できます。また、サーバーで利用できない場合でも、基本的な証明書を無料で提供するStartSSLがあります。必要なのは、それらをインストールまたはアップロードできるサーバー、またはホスティング業者が提供するメカニズムだけです。 (そして、それらが何も提供しない場合は、切り替える時期かもしれません。)

0
CBroe