gpt4 book ai didi

javascript - fb.api 在连接的用户上返回 'undefined'

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:35:57 26 4
gpt4 key购买 nike

下面的代码在姓名和电子邮件上给我一个“未定义”。但是用户登录是因为我有访问 token 和 UID?

function getToken(){
FB.login(function(response) {
if (response.authResponse) {
var access_token = response.authResponse.accessToken;
var uid = response.authResponse.userID;
document.getElementById('accessToken').value=access_token;
document.getElementById('uid').value=uid;
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.name + '.' +response.email);
});
document.forms['token'].submit();
} else {
return false;
}
}, {scope:'email,user_likes,friends_likes'});
}

当我将 fb.api 的完整响应输出到控制台时,我得到了

[11:46:10.369] ({error:"load-error: unknown"})

最佳答案

我现在明白您要做什么以及问题所在了。

失败原因:

您正在发出一个异步请求(使用 FB.api 方法)然后提交一个表单(这是一个猜测,因为您没有包含所有代码)这会重新加载整个页面,搞砸了与异步请求。

关于如何解决问题:

在我看来,最好的解决方案是使用 Server-Side authentication process只有这样,之后,当 Canvas 加载时才使用客户端 sdk。这样您就可以在客户端和服务器端获得访问 token 。

另一种方法不是提交表单,而是使用访问 token 向您的服务器(可以是 POST)发出 ajax 请求,因为这两个请求都是异步的(FB.api 和你服务器上的那个)一切都应该没问题。

关于javascript - fb.api 在连接的用户上返回 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10041409/

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