問題タブ [facebook-webhooks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3349 参照

facebook - Facebook からの X-Hub-Signature の検証

私は Play フレームワーク (この場合は 2.5 と Scala) の初心者ですが、Facebook メッセンジャー用のボットを作成して学習しようとしています。ただし、メッセージの署名を検証しようとして行き詰まりました。

Facebook のドキュメントに従って、Webhook を作成しました。を使用して POST リクエストを処理しますgetRawMessages(以下のコードを参照)。次に、この関数を使用して、要求が Facebook によって署名されていることを確認しようとしverifyPayloadます。ただし、計算されたハッシュと実際のハッシュを一致させることができないようです。

私はこの質問を見てリードを取りました: How to verify Instagram real-time API x-hub-signature in Java? これは、私が望むことをほとんど行っているようですが、Instagramの同等のものです。しかし、私はまだそれを正しく理解できないようです。

Facebook Webhook ドキュメントには次のように記載されています。

HTTP 要求には、アプリ シークレットをキーとして使用し、sha1= というプレフィックスを付けて、要求ペイロードの SHA1 署名を含む X-Hub-Signature ヘッダーが含まれます。コールバック エンドポイントは、この署名を検証して、ペイロードの整合性と発信元を検証できます。

計算は、ペイロードのエスケープされた Unicode バージョンで行われ、小文字の 16 進数で行われることに注意してください。デコードされたバイトに対して計算するだけでは、別の署名になってしまいます。たとえば、文字列 äöå は \u00e4\u00f6\u00e5 にエスケープする必要があります。

私が見逃しているのは、ペイロードを適切にユニコードにエスケープすることだと思いますが、それを行う方法が見つからないようです。また、参照されている質問の回答も、何もせずにバイト配列を取得するように見えました ( jsonRawBytes = jsonRaw.asBytes();)。

続行する方法についての助けをいただければ幸いです。

0 投票する
2 に答える
22057 参照

facebook - Facebook Webhook を設定するには?

開発中のアプリケーション用にFacebook Webhookを構成したいと考えています。

私がこれまでに行ったことは次のとおりです。

  1. FBアプリを作る
  2. アプリの設定に移動し、新しい Webhook を作成します。
    1. 有効なコールバック URL を追加してください
    2. 特定のフィールドを選択する
  3. 設定を保存しました

ここで、ページ サブスクリプションをクエリすると、次のような応答が返されます。

これは有効なようです。

次に何をすべきですか?特定のページのフィードからリスニングを開始するには?

0 投票する
0 に答える
120 参照

facebook-messenger - Facebook Messenger Webhook 奇妙なサブスクリプション エラー

アプリを Facebook に再登録しようとしています (graph-api post/me/subscribed-apps を使用)。サブスクリプションは初めて機能し、受信しましたが{success: true}、現在、次のエラーが表示されています:

トークンを交換しようとしましたが、まだこれを取得しています。誰もこれに遭遇したことがありますか?参照を探してみましたが、運がありませんでした。

前もって感謝します!

0 投票する
2 に答える
1793 参照

facebook - Facebook - Real-Time API を使用して未公開および非表示の投稿を取得する

promotable_postsFacebook ページのエンドポイントを購読して、未公開および非表示の投稿 (「ダーク ポスト」) の更新を取得しようとしています。Facebook によると、そのエンドポイントをサブスクライブできるはずです: https://developers.facebook.com/docs/pages/realtime#data

しかし、そのエンドポイントはhttps://developers.facebook.com/apps/[APP_ID]/webhooks/にリストされておらず、API を介してエンドポイントのサブスクリプションを追加することもできません。のようなエンドポイントで機能しますfeed

そのエンドポイントをサブスクライブするにはどうすればよいですか? また、非表示の投稿を取得するにはどうすればよいですか? 通常https://graph.facebook.com/[PAGE_ID]/promotable_posts?include_hidden=true&access_token=...、私はポーリングしているときにそれらの投稿を取得するために使用しますが、エンドポイントを購読するときに非表示の投稿を含めるように Facebook に指示することはできません。

0 投票する
2 に答える
918 参照

facebook - Facebook Webhook の「メッセージ」サブスクリプション フィールドが存在しませんか?

Facebook ページに送信されたプライベート メッセージを購読しようとしています。

Webhook のセットアップ時にメッセージ フィールドを選択することで、このコールバックをサブスクライブできます。

https://developers.facebook.com/docs/messenger-platform/webhook-reference/message?locale=en_US

フィールド「メッセージ」はありません。彼らは「メッセージ」を意味しますか?このページのスクリーンショットにも「メッセージ」フィールドは表示されません: https://developers.facebook.com/docs/messenger-platform/webhook-reference?locale=en_US

「メッセージ」を購読すると、誰かがプライベート メッセージを書いたときにイベントを受け取りません。「会話」を購読すると、更新を受け取りますが、「thread_id」のみが含まれ、プライベート メッセージの内容は含まれません。

アップデートでメッセージの内容を受け取るにはどうすればよいですか?

0 投票する
2 に答える
10253 参照

facebook - Facebook - メッセージ ID で会話スレッド ID を取得しますか?

Facebook Realtime API (webhooks) から「メッセージ受信コールバック」イベントを受け取ったら、会話で以前のメッセージを取得したいと考えています。そのためには、会話スレッドの ID が必要です。

https://developers.facebook.com/docs/messenger-platform/webhook-reference/message?locale=en_US

このイベントには、会話スレッドの ID (t_id) に関する情報は含まれていません。メッセージ ID (mid) のみが含まれます。

https://developers.facebook.com/docs/graph-api/reference/v2.8/conversation

会話スレッド ID を取得する方法はありますか?