Messenger扩展 - FB共享链接

时间:2017-08-14 15:54:59

标签: javascript facebook webview facebook-messenger messenger

我有一个网页,我添加了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。

我不明白。

任何人都可以解释一下这个错误到底是什么,或者我哪里出错了?

1 个答案:

答案 0 :(得分:0)

在您messageToShare对象中,您需要在按钮上设置messenger_extensions: true以在网络视图中启用Messenger Extensions SDK:

"buttons": [{
  "type": "web_url",
  "url": "button url",
  "title": "button title",
  "messenger_extension": true
}]
相关问题