2017-08-04 73 views
0

我一直在尝试新的Messenger Webview,它以URL的弹出形式打开,而不是在新选项卡中打开。新的Facebook Messenger Webview不能正常工作

,我写了一个小脚本来获取用户的ID按本documentation

然而,在移动应用程序,我能够获得用户ID。但在网站上开放(包括facebook.com/messages和messenger.com)它为我的错误:

This SDK method is not supported on this Messenger client. Please upgrade.

<body> 
    <script> 
    (function(d, s, id) { 
     var js, fjs = d.getElementsByTagName(s)[0]; 
     if (d.getElementById(id)) { 
     return; 
     } 
     js = d.createElement(s); 
     js.id = id; 
     js.src = "https://connect.facebook.com/en_US/messenger.Extensions.js"; 
     fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'Messenger')); 
    window.extAsyncInit = function() { 
     alert('loaded sdk'); 
    }; 
    function getUser() { 
     MessengerExtensions.getUserID(function success(uids) { 
     var psid = uids.psid; 
     alert(JSON.stringify(psid)); 
     }, function error(err, errorMessage) { 
     alert(JSON.stringify(errorMessage)); 
     }); 
    } 
    </script> 
    <input type="button" onclick="getUser()" value="Get user id" /> 
</body> 

enter image description here

回答

1

Messenger的扩展SDK信使Web客户端,您应该使用MessengerExtension.getContext()。 Web客户端不支持MessengerExtensions.getUserID()

+0

好的。让我试试 –

+0

有没有办法让它在新标签中打开URL?现在它只有在弹出窗口内才有效。 –

+0

是的,只能在popup,afaik中工作。 – amuramoto