Messenger扩展程序无法在webview中使用

时间:2017-04-24 15:30:53

标签: webview facebook-messenger-bot

将域名列入白名单后,我尝试访问messenger扩展程序以获取用户ID,但失败并显示错误:

  

未启用Messenger扩展程序 - 可能是" messenger_extensions"   没有设置在网址上,域名没有列入白名单,或者这是一个   过时的Messenger客户端版本

我在谷歌浏览器和Firefox上尝试使用相同的错误正在出现。 messenger_extensions设置为true,域名列入白名单;我确认过了。

为什么要传递这个信息?

2 个答案:

答案 0 :(得分:1)

您是否尝试通过浏览器访问它?如果是这样,那可能就是您遇到问题的原因。

尝试通过手机上的Messenger应用访问该网址。这将是网页中的iFrame,您将可以访问MessengerExtensions sdk。

不知道你应该如何能够登录信使。我做了类似的事情来测试它

window.extAsyncInit = function() {
// the Messenger Extensions JS SDK is done loading
    MessengerExtensions.getUserID(function success(uids) {
        // User ID was successfully obtained. 
        var psid = uids.psid;
        console.log("psid", psid)
            $('.error').html(psid)

    }, function error(err, errorMessage) {      
        // Error handling code
        console.log(err, errorMessage)
        $('.error').html(errorMessage)
    });    
};

答案 1 :(得分:0)

您应该在邮件中添加image_url。此字段不是必填字段,但如果您不包含该字段,则共享邮件只能在移动环境中使用。

示例:

var messageToShare = {
    attachment: {
        type: "template",
        payload: {
            template_type: "generic",
            elements: [{
                title: "Title",
                image_url: "https://image.flaticon.com/teams/slug/freepik.jpg",
                subtitle: 'A shared list from Tasks',
                default_action: {
                    type: "web_url",
                    url: "your_url",
                    messenger_extensions: true,
                    webview_height_ratio: "full",
                    fallback_url: "fallback_url"
                },
                buttons: [{
                    type: "web_url",
                    title: "title",
                    url: "your_url",
                    messenger_extensions: true,
                    webview_height_ratio: 'full',
                    fallback_url: "fallback_url"
                }]
            }]
        }
    }
};

此外,对于messenger_extensions: true,您需要添加fallback_url: "<your_fallback_url_here>"才能使其正常运行。