2017-04-24 94 views
1

工作不白名单我的域名后,我尝试访问信使扩展来获得用户ID,它失败,出现错误:Messenger的延伸中的WebView

Messenger的扩展没有启用 - 可能是“messenger_extensions” 未设置上一个URL,域名是未列入白名单或者这是Messenger客户端

的 过时的版本我试图对谷歌Chrome和Firefox同样的错误出现的使者。 messenger_extensions被设置为true并且域被列入白名单;我确认过了。

为什么它带来这个信息?

+0

你可以在终端上运行'curl -X GET“https://graph.facebook.com/v2.6/me/messenger_profile?fields=whitelisted_domains&access_token=$ACCESS_TOKEN”'以确认你的域名已被列入白名单?它给了什么回应? – Stretch0

+0

我做到了;它正在使用手机 – aidonsnous

回答

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) 
    });  
}; 
+0

在手机中一切正常,但不是在计算机浏览器上。 Facebook如何期待使用webview的机器人的浏览器用户使用机器人?有什么解决方法吗? – aidonsnous

+0

我不相信你应该这样做。例如,通过messenger应用程序进行浏览会假设用户已授予配置文件信息的权限 - https://developers.facebook.com/docs/messenger-platform/user-profile – Stretch0

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>",使其工作。