1

api('/me'... 呼び出しが getLoginStatus ブロック内で機能し、ブロックの外で失敗する理由を誰かが説明できますか?

(私が失敗すると言うと、response.nameは未定義であり、他のすべてのものと同様です)

fbAsyncInit コード内と、init が完了した後にトリガーされると想定されるコールバックでこれを実行しようとしましたが、どちらの場合も、api('/me'... 呼び出しは getLoginStatus ブロックでのみ機能します。

どちらの場合も、 getLoginStatus() ブロック内で動作するように api('/me' のみを取得できます。

注: ユーザーが接続されていないという問題はありませんでした。

FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    var uid = response.authResponse.userID;
    var accessToken = response.authResponse.accessToken;
    console.info("connected");
    FB.api('/me', function(response) {
      // this works
      console.info("Name: "+ response.name + "\nFirst name: "+response.first_name+"");
    });                                
 } else if (response.status === 'not_authorized') {
              console.info("bad");
 }
});

FB.api('/me', function(response) {
  // response.name == 'undefined' 
  console.info("Name: "+ response.name + "\nFirst name: "+response.first_name+"");
});                                
4

0 に答える 0