首页 > 解决方案 > Facebook 私人回复回复未提供 user_id

问题描述

我使用 Private Replies API 调用在 Messenger 中向评论 Facebook 帖子的人发送消息。如果文档说我应该取回消息 id 和 user_id,我只会得到消息 id 作为响应:

正文:'{"id":"m_ZpLkUdJGAoJ9WCpeROAvWJaHycesSPGVPmoNH0SXTUB8WYqRqHl0ru0y3mniMP3q7YL9rl1lfuQr0x9fyNP

这是我在 ruby​​ 中的 API 调用代码:

url = "https://graph.facebook.com/v3.1/" + @comment_id + "/private_replies?message=" + @trigger_message + "&access_token=" + @page_access_token
                  uri = URI.parse(url)
                  https = Net::HTTP.new(uri.host,uri.port)
                  https.use_ssl = true
                  request = Net::HTTP::Post.new(uri, initheader = {'Content-Type' =>'application/json'})
                  resp = https.request(request)

为什么我没有得到 user_id?

标签: facebookfacebook-messenger

解决方案


Facebook 私人回复 API 应该返回 App 范围的 ID 或 ASID,尽管发布了新的应用程序验证或大约在那个时候,他们已经停止将 ASID 提供给私人回复 API - 很可能是因为他们正朝着返回页面范围的 ID 或 PSID ( PSID迁移

虽然您仍然可以从以下任一方式获取 ASID:

一个。可以提供评论 ID 的 webhook,它应该提供 ASID 作为 sender_id
b。来自具有解析评论 ID 的字段。这用于解析单个评论节点,您可以在此处找到更多信息

请记住 ASID 到 PSID 的迁移...


推荐阅读