我的主要接收者是我的dialogflow聊天机器人,第二个接收者是页面收件箱。我想通过实现从聊天机器人切换到收件箱:
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)只有主接收器可以调用此API
但是我的聊天机器人是主要的接收者。我进入page settings
-> messenger platform
。
我发现这曾经是一个Facebook错误,但现在应该已经修复。
有人知道我在做什么错吗?
更新
Web挂钩请求中缺少app_roles
参数。可能与它有关吗?
另一个错误可能是userId。我拿了senderId。 ReceiverId遇到授权错误,错误代码为1,并显示消息“发生未知错误”。我不确定哪一个是正确的。<< / p>
更新2
receiverId似乎是正确的。第二个请求可以使用它。但仍然不是第一个:500个内部服务器错误...
答案 0 :(得分:0)
突然,它现在可以工作了。也许他们改变了后端的任何内容。