【问题标题】:Facebook messenger API sender name not availableFacebook Messenger API 发件人姓名不可用
【发布时间】:2016-10-20 12:35:03
【问题描述】:

我有一个使用 Facebook Messenger API/webhook 的机器人。 当 Facebook 发送消息时,发件人只设置了 id,没有设置名称。

所以我尝试使用图形 API 来获取名称,

https://graph.facebook.com/v2.6/<sender-id>?fields=first_name,last_name&access_token=<page-token>

它给你的发件人id似乎不是真实的id,所以使用你的应用令牌不起作用,但使用页面令牌似乎也不是一直都起作用。

从我的日志中,我看到它工作了一段时间,而不是其他时间。 我得到了错误,

(#100) No matching user found

我唯一的猜测是,如果它是一个较旧的对话,它给你的 id 已经在某个地方过期,所以你无法得到名字?

其他人有这个问题,或者找到解决方法?

【问题讨论】:

  • 我在文档中没有看到任何关于用户 id 过期/寿命短的信息(通常 Facebook 在这种情况下使用令牌而不是 id。)因为你得到的用户 id 是 page-范围内,您需要使用页面访问令牌。你确定你用对了吗?

标签: facebook facebook-graph-api facebook-messenger


【解决方案1】:

好的,想通了,是用户错误。

问题是我在测试页面时有另一个应用程序链接到该页面,但我没有删除 webhook。所以 webhook 被调用了两次,其中一个由于某种原因而有一个错误的令牌。

无论如何,从其他应用程序中删除 webhook 解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 2014-09-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    相关资源
    最近更新 更多