我正在尝试使用facebook MessengerExtensions的beginShareFlow()函数来执行一个分享。但是,在执行调用时,我收到以下错误消息:
Messenger Extensions unexpected error.此错误的代码为2018154。
我正在使用下面的代码来开始一个分享:
ajax.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(this.responseText);
var message = JSON.parse(this.responseText);
MessengerExtensions.beginShareFlow(function(share_response) {
if(share_response.is_sent){
// close the window w/ requestCloseBrowser().
}
},
function(errorCode, errorMessage) {
console.log(errorCode+"-"+errorMessage);
},
message,
"current_thread");
}
}您将看到我正在使用ajax调用的响应来填充实际的消息。这是由一些后端php代码生成的,示例如下:
{"attachment":{"type":"template","payload":{"template_type":"generic","sharable":"true","elements":[{"title":"Kerk Poederlee","image_url":"https:\/\/www.wouterh.be\/pogo\/static\/images\/raid.jpg","subtitle":"joining at 1535629500","default_action":{"type":"web_url","url":"https:\/\/www.wouterh.be\/pogo"},"buttons":[{"type":"web_url","url":"https:\/\/www.wouterh.be\/pogo","title":"join raid"}]}]}}}Messenger扩展本身已正确加载,因为我可以使用以下代码检索PSID:
window.extAsyncInit = function() {
MessengerExtensions.getContext('APPID',
function success(thread_context){
fb_user_id = thread_context.psid;
},
function error(err){}
);
};此错误发生在web客户端和最新的iOS messenger上。当我通过send API而不是sharing messenger扩展发送完全相同的消息时,它工作得很好。有人能帮我找出是什么导致了这个错误吗?
发布于 2018-08-31 15:22:28
我发现了错误,在消息中你可以传递一个'sharable‘属性。我将字符串值"true“传递给它,但这应该是一个布尔值。
更正后的内容如下:
{
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"sharable": true,
"elements": [{
"title": "Kerk Poederlee",
"image_url": "https:\/\/www.wouterh.be\/pogo\/static\/images\/raid.jpg",
"subtitle": "joining at 1535629500",
"default_action": {
"type": "web_url",
"url": "https:\/\/www.wouterh.be\/pogo"
},
"buttons": [{
"type": "web_url",
"url": "https:\/\/www.wouterh.be\/pogo",
"title": "join raid"
}]
}]
}
}
}https://stackoverflow.com/questions/52096365
复制相似问题