に関する情報を照会するために使用されなければならないSDK私はFacebookのJavascriptをアクティブなアクセストークンが私のコードでは、現在のユーザー
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
は私の友人の配列です。
ネットワークパネルを確認したところ、手動で呼び出すと、アクセストークンが自動的にリクエストURLに挿入され、コード経由で呼び出されるとアクセストークンが挿入されません。
私のアプリケーションでフル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>
ありがとうございました!あなたはあなたの推測とまったく同じではありませんが、答えに私を導いてくれました。 – Eva