0

Facebook を Web アプリに実装しました。ただし、この 1 つのエラーは引き続き表示されます (facebook がアクティブに使用されていない場合)。現在のユーザーに関する情報を照会するには、アクティブなアクセス トークンを使用する必要があります。

An active access token must be used to query information about the current user. 

これが私のFacebook JSです:

window.fbAsyncInit = function()
{
FB.init({
appId      : '<?php echo AppInfo::appID(); ?>',
channelUrl : "<?php //echo URL.'scripts/facebook/channel.php'; ?>",
status     : false,
cookie     : true,
xfbml      : false
});

FB.api('/me',function(){});

FB.Event.subscribe('auth.authResponseChange', function(response) {

if (response.status === 'connected')
{
    window.location.replace("<?php echo Router::$url; ?>");
}
else if (response.status === 'not_authorized')
{
    FB.login(function(response){}, {scope:'email'});
}
else
{
    FB.login(function(response){}, {scope:'email'});
}

});
};

(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 = "<?php echo URL.'scripts/facebook/all.js'; ?>";
fjs.parentNode.insertBefore(js, fjs);
}
(document, 'script', 'facebook-jssdk'));

Web を検索して、 を見つけましたFB.api()。残念ながら、それは役に立ちません...

4

2 に答える 2

1

FB.apiへの呼び出しを へのコールバック内にラップしFB.getLoginStatus、ユーザーが実際に接続されている場合にのみ実行する必要があります。

FB.loginまた、クリック イベントなど、ユーザーによってトリガーされたイベント以外で呼び出すことはできません。

于 2013-06-26T16:59:41.517 に答える