Messenger 扩展 Javascript SDK 错误 2071011
Messenger Extensions Javascript SDK Error 2071011
我正在尝试使用 Messenger Extensions Javascript SDK 创建 Messenger Web 视图 (https://developers.facebook.com/docs/messenger-platform/messenger-extension)。
WebView打开的页面有如下JS代码
<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 = "//connect.facebook.com/en_US/messenger.Extensions.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'Messenger'));
window.extAsyncInit = function () {
// the Messenger Extensions JS SDK is done loading
MessengerExtensions.getUserID(function success(uids) {
var psid = uids.psid;
alert(psid);
}, function error(err) {
alert("Messenger Extension Error: " + err);
});
};
</script>
结果是带有以下消息的警报 "Messenger Extension Error: 2071011"。所以方法 "getUserID" 出错了。 “2071011”错误代码是什么意思?以及如何解决?我已经搜索了很多,但没有找到任何相关信息。
非常感谢任何帮助!!
PS:指南说要将 URL 的站点列入白名单,我也这样做了。
您尝试如何打开网络视图?我遇到了同样的问题,但根据 documentation,Messenger 扩展仅适用于 iOS 和 Android。
此代码适用于 iOS,但在桌面 Messenger 应用程序上会引发相同的错误。希望对您有所帮助。
我在 messenger.Extensions.js 缩小源中找到“2071011”错误解释:
if (!p) {
x(2071011, 'JavaScript bridge does not exist - Please make sure you are in latest ' + 'version of Facebook or Messenger App.');
return;
}
p 值等于 q():
function q() {
switch (o) {
case h.ANDROID:
return window._FBExtensions;
case h.IOS:
return window.webkit && window.webkit.messageHandlers;
}
return null;
}
可能的错误原因:
- 请确保您拥有最新的 Messenger 应用程序版本(在我的情况下不解决问题)。
- Messenger Android 应用程序很可能没有将变量 window._FBExtensions 正确地包含到 WebView 上下文中 - 我有这个变量未定义并且 messenger.Extensions.js 假定 _FBExtensions 变量已经存在。我找不到当前的解决方法,因为它是 Messenger 应用程序的一部分。
MessengerExtensions.getUserID(function success(uids) {
// triggering on devices
self.defer.resolve(uids.psid);
}, function error(err) {
MessengerExtensions.getContext(config.fbApp.id, function success(result) {
// triggering on desktop
self.defer.resolve(result.psid);
}, function error(result) {
self.defer.reject(result);
console.log('Context Error ', result);
});
});
我正在尝试使用 Messenger Extensions Javascript SDK 创建 Messenger Web 视图 (https://developers.facebook.com/docs/messenger-platform/messenger-extension)。
WebView打开的页面有如下JS代码
<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 = "//connect.facebook.com/en_US/messenger.Extensions.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'Messenger'));
window.extAsyncInit = function () {
// the Messenger Extensions JS SDK is done loading
MessengerExtensions.getUserID(function success(uids) {
var psid = uids.psid;
alert(psid);
}, function error(err) {
alert("Messenger Extension Error: " + err);
});
};
</script>
结果是带有以下消息的警报 "Messenger Extension Error: 2071011"。所以方法 "getUserID" 出错了。 “2071011”错误代码是什么意思?以及如何解决?我已经搜索了很多,但没有找到任何相关信息。
非常感谢任何帮助!!
PS:指南说要将 URL 的站点列入白名单,我也这样做了。
您尝试如何打开网络视图?我遇到了同样的问题,但根据 documentation,Messenger 扩展仅适用于 iOS 和 Android。 此代码适用于 iOS,但在桌面 Messenger 应用程序上会引发相同的错误。希望对您有所帮助。
我在 messenger.Extensions.js 缩小源中找到“2071011”错误解释:
if (!p) {
x(2071011, 'JavaScript bridge does not exist - Please make sure you are in latest ' + 'version of Facebook or Messenger App.');
return;
}
p 值等于 q():
function q() {
switch (o) {
case h.ANDROID:
return window._FBExtensions;
case h.IOS:
return window.webkit && window.webkit.messageHandlers;
}
return null;
}
可能的错误原因:
- 请确保您拥有最新的 Messenger 应用程序版本(在我的情况下不解决问题)。
- Messenger Android 应用程序很可能没有将变量 window._FBExtensions 正确地包含到 WebView 上下文中 - 我有这个变量未定义并且 messenger.Extensions.js 假定 _FBExtensions 变量已经存在。我找不到当前的解决方法,因为它是 Messenger 应用程序的一部分。
MessengerExtensions.getUserID(function success(uids) {
// triggering on devices
self.defer.resolve(uids.psid);
}, function error(err) {
MessengerExtensions.getContext(config.fbApp.id, function success(result) {
// triggering on desktop
self.defer.resolve(result.psid);
}, function error(result) {
self.defer.reject(result);
console.log('Context Error ', result);
});
});