2016-04-02 38 views
0

我正在調試一個較舊的腳本,來到它應該查詢某個Facebook用戶的某個數據並將其存儲到數據庫中的部分。Facebook Graph API,名字保持爲空

某些範圍如publish_stream已被棄用,因此我將其替換爲「publish_actions」。至少有一些我無法弄清楚。我想查詢用戶的名字和姓氏,但這個響應保持空白,唯一有效的是縮略圖和用戶ID。

所以這裏是範圍(我知道public_profile是不必要的,但Facebook推薦它)。

//function handleFacebookAuth(callback) { 
function handleFacebookAuth(callback) { 
    var permissions = ''; 
    //noinspection JSUnresolvedVariable 
    if (window.extendedPerms) { 
     permissions = 'public_profile,email,publish_actions,user_likes,' + window.extendedPerms; 
    } else { 
     permissions = 'public_profile,email,publish_actions'; 
    } 
    if (accessToken != null && userId != null) { 
     callback(accessToken, userId); 
    } else { 
     FB.login(function (response) { 
      if (response.authResponse) { 
       userId = response.authResponse.userID; 
       accessToken = response.authResponse.accessToken; 
       callback(accessToken, userId); 
      } else { 
       $("#white-wall").hide(); 
      } 
     }, {scope: permissions}); 
    } 
    return false; 
} 

在這裏查詢到的數據

function sendData(moves, seconds) { 
    FB.api('/me', function (response) { 
     var data = { 
      access_token: accessToken, 
      flag: 'data', 
      fbuid: response.id, 
      moves: moves, 
      seconds: seconds, 
      fname: response.first_name, 
      lname: response.last_name, 
      email: response.email, 
      gender: response.gender 
     }; 
     userId = response.id; 
     $.ajax({ 
      url: "ajax.php", 
      data: data, dataType: 'html', method: "post", 
      error: function (data) { 
       alert(data.responseText); 
      }, 
      success: function (data) { 
       console.log(data); 
       //$("#gameresults").html(data); 
       $('#gameresults').html(data); 
       $("#triggerbtn").fancybox({ 
        'width': 480, 
        'height': 550, 
        'autoSize': false, 
        'overlayShow': false, 
        'scrolling': 'no' 
       }); 
       $("#triggerbtn").trigger('click'); 
       //window.top.location.href = data; 
      } 
     }); 
    }); 
} 

我希望,也許有人看到其中一個錯誤,我實在想不出有什麼不對的地方,也許這個問題可能是在別的地方,聽到我上面的代碼沒問題,真是太棒了。

+1

你需要指定你想要的字段。只是搜索StackOverflow這個問題每天出現 – WizKid

+0

哦好吧,似乎他們改變了更多。從我理解的是,我已經準確地查詢API 2.4以來的領域。謝謝 – Deex

回答

0

好感謝威基德的提示的解決方案是非常簡單的 我加到/我

FB.api('/me?fields=id,first_name,last_name,email,gender', function (response) { 

這是所有..