标签: facebook-webhooks

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?

facebook facebook-graph-api facebook-webhooks

14
推荐指数
2
解决办法
6270
查看次数

Facebook messenger app webhook订阅 - 权限不足

我有facebook messenger应用程序(它是使用MS Bot Framework的机器人,虽然我不认为它是相关的).它有webhook订阅页面事件.它曾经很好地工作到几天前,当webhook从页面取消订阅时,当我尝试再次订阅它告诉我:

"权限不足您没有指定页面执行所请求操作的必要权限."

我是FB页面和Messenger应用程序的所有者和管理员.我创建了类似的页面和信使应用程序,它在那里工作,但我仍然需要使用这个旧的.我尝试订阅我拥有和管理的其他页面,但结果相同.我也和其他管理员一起尝试过.

我发现其他人在FB上遇到相同/相似的消息,但在这种特殊情况下却没有.但我还没有找到任何解决方案.

有谁知道可能是什么问题?或者有没有人遇到过这个问题?

提前感谢任何想法.

facebook messenger facebook-messenger facebook-messenger-bot facebook-webhooks

10
推荐指数
2
解决办法
6034
查看次数

Facebook API页面提要没有向我的webhook发送信息?

我是我的测试应用程序和测试页面的管理员.

现在我正在通过webhook实现一个函数get page的feed实时,只是在开发模式下.

当我单击App的仪表板上的测试按钮时,它已被发送到我的webhook.但是当我评论或喜欢...帖子时,即使我订阅了饲料webhook,facebook也不发送.使用消息,它已成功发送,但Feed没有.

我问facebook支持,所以他们说:

"应用程序只能在开发过程中接收从应用程序仪表板发送的测试webhook.除非应用程序处于活动状态,否则不会生成包括应用程序管理员,开发人员和测试人员在内的生产数据.为了接收提要webhooks,你的应用程序需要上线,并且必须通过应用程序审查才能获得必要的权限."

我知道即使它处于开发模式,我也无法从Facebook获取数据.那么我如何才能获得facebook返回的数据来开发,测试...开发模式中的应用程序.

非常感谢.

facebook-graph-api facebook-feed facebook-webhooks

6
推荐指数
1
解决办法
2229
查看次数

从Facebook验证X-Hub-Signature

我是Play Framework的初学者(在这种情况下是2.5和Scala) - 我正在尝试通过为Facebook Messenger建立一个机器人来学习.但是我一直试图验证消息的签名.

我按照Facebook文档编写了一个webhook.它使用处理POST请求getRawMessages(参见下面的代码).然后,它尝试使用该verifyPayload功能验证请求是否由Facebook签名.但是我似乎无法得到计算的和实际的哈希匹配.

我从这个问题中起了带头作用:如何在Java中验证Instagram的实时API x-hub-signature?这似乎做了我想要的,但相当于Instagram.但我似乎仍然无法做对.

val secret = "<facebooks secret token>"  

def getRawMessages = Action (parse.raw) {
    request =>

      val xHubSignatureOption = request.headers.get("X-Hub-Signature")

      try {
        for {
          signature <- xHubSignatureOption
          rawBodyAsBytes <- request.body.asBytes()
        } yield {
          val rawBody = rawBodyAsBytes.toArray[Byte]
          val incomingHash = signature.split("=").last
          val verified = verifyPayload(rawBody, secret, incomingHash)
          Logger.info(s"Was verified? $verified")
        }
        Ok("Test")
      }
      catch {
        case _ => Ok("Test")
      }
  }

  val HMAC_SHA1_ALGORITHM = "HmacSHA1"

  def verifyPayload(payloadBytes: Array[Byte], …
Run Code Online (Sandbox Code Playgroud)

facebook scala playframework facebook-webhooks

5
推荐指数
1
解决办法
2056
查看次数

如何配置Facebook webhooks?

我想为我正在开发的应用程序配置Facebook webhooks.

到目前为止我做的是:

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

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

{
  "data": [
    {
      "object": "page",
      "callback_url": "CALLBACK_URL",
      "fields": [
        "feed"
      ],
      "active": true
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

这似乎是有效的.

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

facebook webhooks facebook-graph-api facebook-webhooks

5
推荐指数
1
解决办法
2万
查看次数

Instagram webhook 未激活

我的目标是使用 Facebook webhook 在 IG 用户提及我的 IG 帐户时收到通知。为此,我遵循了以下步骤:

  • 我创建了一个 Facebook 页面并将其与 Instagram 企业帐户连接。
  • 我创建了一个 Facebook 应用程序(现已上线)并添加了产品“webhooks”。
  • 我已将我的应用程序与我的页面连接起来。
  • 我创建了一个网络钩子并订阅了提及事件。
  • 我使用 Facebook 提供的工具测试了 webhook,它可以工作。

我面临的问题是我无法让我的应用程序处理真实数据。我尝试从我的 IG 个人帐户中提及我的企业 IG 帐户,但没有任何反应。我的回调网址没有被调用。

我的应用程序不需要用户登录,因此我不确定是否需要发送我的应用程序以供审核。我需要特别许可吗?

instagram-api facebook-webhooks instagram-graph-api

5
推荐指数
1
解决办法
5154
查看次数

为什么 Instagram Graph API webhook 不起作用

当另一个用户在另一个/我的媒体上发表评论(提及)时,我无法收到 webhook 调用。

出于测试目的,我为我的 webhook 端点设置了一个 ngrok 服务器,它总是以 200 应答并处理验证。在进行大量编码之前,我只是想看看 Instagram 的 webhook 工作流程是否正常工作。

我创建了一个 Facebook 应用程序、一个 Instagram 企业帐户、一个 Facebook 页面,并将该页面与 Instagram 企业帐户链接。根据Instagram Webhooks上的信息,我使用 Graph API Explorer 创建了页面访问令牌。当我使用访问令牌调试器调试令牌时,一切看起来都很好。所有需要的权限,如manage_pages、pages_show_list、instagram_basic、instagram_manage_comments、instagram_manage_insights、public_profile都在那里。使用页面访问令牌,我可以通过 Graph API Explorer 获取有关我链接的 Instagram 企业帐户的所有信息。

Instagram 产品也自动添加到我的 Facebook 应用程序中。通过应用程序仪表板(Webhooks 产品)发送的测试请求将由我的 ngrok 服务器接收。但是,我的媒体或其他媒体上不会收到来自他人或我的 Instagram 帐户(商业或非商业)的任何类型的提及或评论。我究竟做错了什么?由于应用程序处于开发模式并且应用程序中有角色,我是否必须从特定帐户发送这些评论/提及?

facebook webhooks instagram facebook-webhooks instagram-graph-api

4
推荐指数
1
解决办法
4105
查看次数

Facebook webhook 验证响应结构

这是我第一次发布问题,因此请提供反馈以改进问题。

Facebook webhook 提到,在 webhook 端点可以接收任何事件通知之前,应首先验证端点。

验证请求的文档未提供 API 的响应结构。它只是告诉我们发回 hub.challenge 参数。

当我使用 NodeJS 时,我正在尝试使用下面的代码。但是,它不会验证来自 Facebook 仪表板的 Webhook。

我们应该如何发回响应来验证 webhook?

 app.get('/webhook', (req, res) => {
  const challenge = req.query['hub.challenge'];
  const verify_token = req.query['hub.verify_token'];
  
  if (verify_token === process.env.FACEBOOK_VERIFICATION_TOKEN) {
    return res.status(200).send({message: "Success", challenge: challenge});
  }
  return res.status(400).send({message: "Bad request!"});
})
Run Code Online (Sandbox Code Playgroud)

facebook facebook-ads-api facebook-webhooks facebook-ads facebook-nodejs-business-sdk

4
推荐指数
1
解决办法
1212
查看次数

使用ngrok url作为facebook webhook的回调网址,但被识别为"未列入白名单"

我的IDE是Pycharm.我想在本地测试我的应用程序,所以我在本地运行我的服务并使用ngrok将我的应用程序暴露给Internet.

ngrok显示的网址是 https://436cb7e9.ngrok.io

但是,当我想验证facebook webhook回调网址使用上面的这个网址时,它显示

ERROR 2017-12-27 08:16:37,407 wsgi_server.py:329]请求主机436cb7e9.ngrok.io未列入白名单.已设置启用的主机(['localhost'])

我之前运行的应用程序很好,但我不知道为什么这次显示错误.有人能给我一些建议吗?

python webhooks pycharm facebook-chatbot facebook-webhooks

3
推荐指数
1
解决办法
1159
查看次数

Facebook webhook页面无法创建

创建了一个应用程序,并试图创建webhook,但在droplist中,'Page'对象没有显示,只有'User','Application','Permission','Native Components'和'Certificate Transperancy'.

我们如何为Page对象创建webhook?

在此输入图像描述

python facebook facebook-webhooks

2
推荐指数
1
解决办法
292
查看次数

如何取消订阅所有 Facebook 页面的应用程序 Webhooks

我有一个订阅了 20,000 多个页面的 Facebook 应用程序。服务器无法处理来自所有这些 Facebook 页面的钩子,我想从所有这些 Facebook 页面取消订阅我的应用程序。有没有更快的方法来做到这一点。我拥有的大部分页面访问令牌都已过期,因此我无法遍历所有页面并取消订阅我的应用程序。

facebook facebook-graph-api facebook-webhooks

2
推荐指数
1
解决办法
1507
查看次数