我有一个网页,我添加了Messenger扩展程序,用于向Messenger分享邮件。我按照以下链接进行了操作。 https://developers.facebook.com/docs/messenger-platform/webview/sharing/v2.10
我想分享的消息对象如下:
var messageToShare = {
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"elements": [{
"title": "title text",
"image_url": "image url",
"subtitle": "subtitle text",
"default_action": {
"type": "web_url",
"url": "url"
},
"buttons": [{
"type": "web_url",
"url": "button url",
"title": "button title"
}]
}]
}
}
}
分享的代码如下:
$('#share-messenger').click(function () {
MessengerExtensions.beginShareFlow(function success(response) {
if (response.is_sent) {
console.log("Shared in messenger")
} else {
console.log("Did not share in messenger")
}
}, function error(errorCode, errorMessage) {
console.log("error in sharing in messenger " + errorCode + ", " +
errorMessage)
},
messageToShare,
"broadcast");
});
当我点击按钮时,我在上面的错误回调中收到如下错误。
未启用Messenger扩展程序 - 可能是“messenger_extensions” 没有设置在网址上,域名没有列入白名单,或者这是一个 过时版的Messenger客户端。
我查看了故障排除指南,但无法理解。有一点如下。
从持久性菜单或按钮打开webview时, 确保messenger_extensions参数设置为true。
我不明白。
任何人都可以解释一下这个错误到底是什么,或者我哪里出错了?
答案 0 :(得分:0)
在您messageToShare
对象中,您需要在按钮上设置messenger_extensions: true
以在网络视图中启用Messenger Extensions SDK:
"buttons": [{
"type": "web_url",
"url": "button url",
"title": "button title",
"messenger_extension": true
}]