gpt4 book ai didi

facebook - JS SDK getLoginStatus 不返回 userID 也不返回signedRequest

转载 作者:行者123 更新时间:2023-12-02 18:54:38 25 4
gpt4 key购买 nike

我正在使用 PhoneGap/Cordova 和 facebook 插件。一切似乎都正常,除了 getLoginStatus 没有按照定义工作 herehere 。调用时,它返回一些数据,但不是全部:它不返回 userID 也不返回signedRequest。这是代码:

FB.getLoginStatus(function(response) {
if (response.status == 'connected') {
var fb_uid = response.authResponse.userID;
var fb_signedRequest = response.authResponse.signedRequest;
alert('logged in');
} else {
alert('not logged in');
}
});

userID 用省略号 (...) 填充,而signedRequest 未定义。

我设法通过对/me 的图形调用来获取 userID:

FB.api('/me', function(me){
if (me.id) {
var fb_uid = me.id;
}
});

我无法在文档中找到任何方法来获取signed_request,我必须使用它来向用户已通过facebook连接到的远程服务验证facebook用户的身份(我已经进行了登录调用)所以用户没问题)。基本上问题是我对 getLoginStatus 的调用返回

{
status: 'connected',
authResponse: {
session_key: true,
accessToken: 'a long string...',
expiresIn:'a number',
sig: '...', //exactly this string
userID:'...' //exactly this string
secret:'...' //exactly this string
expirationTime:'a long number'
}
}

而不是记录的内容

最佳答案

作为背景,当使用插件进行身份验证时,JavaScript SDK API 会调用 iOS/Android SDK 来处理授权,然后将响应身份验证数据传递回 JS 部分。 native (iOS/Android) SDK 不会获取已签名的请求,以便能够将其传递给 JS。这就是为什么它是空的。

如果您使用最新的插件,您现在至少应该可以看到用户 ID。六月的那个很可能没有传回来。否则,作为解决方法,您可以在 JS 代码中身份验证成功时执行对/me 端点的调用以获取用户 ID。请参阅执行此操作的 Hackbook 示例。

关于facebook - JS SDK getLoginStatus 不返回 userID 也不返回signedRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10928009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com