问题标签 [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 签名

我是 Play Framework(在本例中为 2.5 和 Scala)的初学者——我正在尝试通过为 Facebook Messenger 构建机器人来学习。但是,我在尝试验证消息的签名时遇到了困难。

我遵循了 Facebook 文档并创建了一个 webhook。getRawMessages它使用(参见下面的代码)处理 POST 请求。然后尝试验证请求是否由 Facebook 使用该verifyPayload函数签名。但是,我似乎无法使计算的哈希值和实际的哈希值匹配。

我已经率先研究了这个问题:How to verify Instagram real-time API x-hub-signature in Java?这似乎做了我想要的,但对于 Instagram 等价物。但我似乎仍然无法正确处理。

Facebook webhook 文档状态:

HTTP 请求将包含一个 X-Hub-Signature 标头,其中包含请求有效负载的 SHA1 签名,使用应用程序密钥作为密钥,并以 sha1= 为前缀。您的回调端点可以验证此签名以验证有效负载的完整性和来源

请注意,计算是根据有效载荷的转义 unicode 版本进行的,使用小写十六进制数字。如果您只是针对解码的字节进行计算,您最终会得到不同的签名。例如,字符串 äöå 应转义为 \u00e4\u00f6\u00e5。

我猜我缺少的是让有效负载正确地转义为 unicode,但我似乎无法找到一种方法来做到这一点。引用问题中的答案似乎也只是得到了字节数组,而不用做更多的事情(jsonRawBytes = jsonRaw.asBytes();)。

任何有关如何进行的帮助将不胜感激。

0 投票
2 回答
22057 浏览

facebook - 如何配置 Facebook 网络挂钩?

我想为我正在开发的应用程序配置Facebook webhook 。

到目前为止我所做的是:

  1. 创建 FB 应用程序
  2. 转到应用设置并创建一个新的 webhook:
    1. 添加有效的回调 URL
    2. 选择特定字段
  3. 成功保存设置

现在,当我查询页面订阅时,我得到了响应:

这似乎是有效的。

接下来我该怎么办?如何从特定页面的提要开始收听?

0 投票
1 回答
420 浏览

facebook - 如何查询 Facebook 应用的订阅 webhook 事件?

我希望能够查询 Facebook 应用程序的 webhook 配置。

也就是说,当您为 FB 应用设置 webhook 时,您可以指定要订阅的事件:

https://developers.facebook.com/docs/messenger-platform/webhook-reference#setup

我的问题很简单:有没有办法查询给定的 FB 应用程序/页面 ID 订阅了哪些事件?

提前致谢。

0 投票
0 回答
120 浏览

facebook-messenger - Facebook Messenger Webhook 奇怪的订阅错误

我正在尝试将应用重新订阅到 facebook(通过 graph-api post/me/subscribed-apps)。订阅第一次工作并收到{success: true},但是现在我收到以下错误:

我尝试更换令牌,但我仍然得到这个。有没有人遇到过这个?试图寻找参考,但没有运气。

提前致谢!

0 投票
0 回答
783 浏览

php - 如何使用 facebook api 从页面向多个用户广播或发送消息

我正在使用 facebook webhook,我正在使用这种格式将消息发送给消息用户

curl -X POST -H "Content-Type: application/json" -d '{ "recipient": { "id": "USER_ID" }, "message": { "text": "hello, world!" } }' "https://graph.facebook.com/v2.6/messages?access_token=PAGE_ACCESS_TOKEN"

正如这里提到的。现在我将所有消息存储在数据库中,并希望一次将消息发送给所有消息用户,正如我在chatfuel中看到的那样,有一个广播选项。是否有类似从 facebook api 广播的选项,请帮助我。先感谢您

0 投票
2 回答
1793 浏览

facebook - Facebook - Get unpublished and hidden posts with Real-Time API

I'm trying to subscribe to the promotable_posts endpoint of the Facebook page to get updates for unpublished and hidden posts ("dark posts"). According to Facebook it should be possible to subscribe to that endpoint: https://developers.facebook.com/docs/pages/realtime#data

But that endpoint is not listed on https://developers.facebook.com/apps/[APP_ID]/webhooks/ and I can't add the subscription of the endpoint via the API either. It's working for endpoints like feed.

How can I subscribe to that endpoint? And how can I get hidden posts? Normally I would use https://graph.facebook.com/[PAGE_ID]/promotable_posts?include_hidden=true&access_token=... to get those posts when I'm polling, but I can't tell Facebook to include hidden posts when I subscribe to an endpoint.

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 (webhook) 收到“消息接收回调”事件时,我想获取对话中以前的消息。为此,我需要对话线程的 ID。

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

该事件不包含有关对话线程 ID (t_id) 的任何信息。它只包含消息 ID(中间)。

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

有没有办法获取对话线程 ID?

0 投票
2 回答
1486 浏览

python - 无法从 webhook 获得响应

我在 api.ai 中为我的项目使用 python(使用此示例)创建了一个 webhook

我的代码在这里:

Api 代理是:

图片 1 图片2

我不明白我错在哪里。

我的代理工作正常,但是当我要求机器人从 webhook 获取信息时,我从 api.ai 而不是 webhook 获取文本响应。

你能帮我吗 ?

0 投票
0 回答
436 浏览

facebook-marketing-api - facebook webhook 是否可用于广告(营销 api)数据?

我正在使用 facebook 营销 api 来监控广告系列的广告洞察,我希望收到有关我的广告系列统计信息更新的通知,但我找不到如何将 webhook 与营销 api 数据一起使用:广告系列、广告集和广告 https:/ /developers.facebook.com/docs/marketing-api