【发布时间】:2019-03-13 10:30:24
【问题描述】:
我的主要接收者是我的对话流聊天机器人,我的第二个接收者是页面收件箱。我想通过实现从聊天机器人切换到收件箱:
request({
uri: 'https://graph.facebook.com/v3.2/me/pass_thread_control',
qs: {'access_token': 'pageAccessToken'},
method: 'POST',
json: {
recipient: {
id: 'userIdFromRequest'
},
target_app_id: 'pageInboxAppId'
},
}, (error: any, response: any, body: any) => {
console.log('BODY PASS THREAD CONTROL: ', body);
});
但我收到此错误:
(#10) 仅对主要和次要接收者可用
当我尝试获取辅助接收器时:
request({
uri: 'https://graph.facebook.com/v3.2/me/secondary_receivers?fields=id,name&access_token=<page-access-token>',
qs: {'access_token': <page-access-token>},
method: 'GET',
}, (error: any, response: any, body: any) => {
console.log('BODY SECONDARY RECEIVERS: ', body);
});
我会收到这个错误:
(#10) 只有 Main Receiver 可以调用此 API
但我的聊天机器人是主要接收者。我设置在page settings --> messenger platform。
我发现这曾经是一个 facebook 错误,但现在应该已经修复了。
有人知道我做错了什么吗?
更新
网络挂钩请求中缺少app_roles 参数。可能和它有关吗?
另一个错误可能是用户 ID。我拿了 senderId。 receiverId 遇到错误代码为 1 的授权错误和消息“发生未知错误”。我不确定哪个是正确的。
更新 2
receiverId 似乎是正确的。第二个请求适用于它。但仍然不是第一个:500 internal server error...
【问题讨论】:
-
“我发现这曾经是一个 facebook 的错误,但现在应该已经修复了。” - 如果你发现这个错误的影响可能仍然存在在那之前你的设置?在这种情况下,我会尝试从页面中删除订阅,然后先重新添加。
-
它在 2018 年初修复,我的设置是 2 天前。因此,这应该不是问题。感谢您的想法:)
标签: facebook facebook-graph-api