gpt4 book ai didi

Facebook javascript sdk 查询当前用户信息必须使用active access token

转载 作者:行者123 更新时间:2023-11-30 05:20:12 29 4
gpt4 key购买 nike

在我的代码中有

FB.api('/me/friends', function(response) {
if(response.data) {
//TODO : what to do if no. of friends is more than 5000 (pagination by fb)
friends_data=response.data;
dijit.registry.byId("mainWidget_div").set_friends_data(friends_data);
} else {
alert("Error!");
}

});

这会报错。 但是,如果我手动调用这个函数(在控制台),没有错误

FB.api('/me/friends', function(response){r=response;});
//wait a while
r

现在 r.data 是我 friend 的数组。

我检查了网络面板,发现当我手动调用它时,访问 token 会自动插入到请求 url 中,而当通过代码调用它时,访问 token 不会被插入。

我应用中完整的fb sdk加载代码是这样的:

<script type="text/javascript">
// You probably don't want to use globals, but this is just example code
var fbAppId = "{{facebook_app_id}}";

// This is boilerplate code that is used to initialize the Facebook
// JS SDK. You would normally set your App ID in this code.

// Additional JS functions here
window.fbAsyncInit = function() {
FB.init({
appId : fbAppId, // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse page for xfbml or html5 social plugins like login button below
});

// Put additional init code here
dojo.ready(function(){
FB.api('/me/friends', function(response) {
if(response.data) {
//TODO : what to do if no. of friends is more than 5000 (pagination by fb)
friends_data=response.data;
dijit.registry.byId("mainWidget_div").set_friends_data(friends_data);
} else {
alert("Error!");
}

});
});
};
// Load the SDK Asynchronously
(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.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

</script>

最佳答案

answer from Brent Baisleyanother answer到一个不同的问题,帮助我弄清楚出了什么问题。

您不能在 FB.init() 之后立即调用 FB.init() 依赖方法,因为它是异步加载的。即使像 dojo.ready() 那样异步加载数据也无济于事。您必须将代码包装在 FB.getLoginStatus() 中。

关于Facebook javascript sdk 查询当前用户信息必须使用active access token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15812050/

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