2015-12-21 54 views
0

我試圖通過在提示用戶登錄時詢問作用域部分中的權限來從個人(我)配置文件中獲取簡單信息。但是,我得到的未定義爲我的結果。我正在使用Facebook的快速入門javascript sdk。即使我要求登錄後響應中的first_name,我也沒有定義。這是快速啓動代碼的一小部分。我所做的只是將response.name更改爲response.first_name。但它不起作用。我究竟做錯了什麼?非常感謝!給出未定義的Facebook權限

function testAPI() { 
console.log('Welcome! Fetching your information.... '); 
FB.api('/me', function(response) { 
    console.log('Successful login for: ' + response.name); 
    document.getElementById('status').innerHTML = 
    'Thanks for logging in, ' + response.name + '!'; 
}); 

回答

1
FB.api('/me', {fields: 'name,first_name'}, function(response) { 
    ... 
}); 

它被稱爲「聲明域」,你必須指定你想獲得哪些字段或者你只會得到ID和名稱。

當然,請確保用戶已被授權。這裏有一個教程:http://www.devils-heaven.com/facebook-javascript-sdk-login/

+0

它的工作。謝謝@luschin。但是,我應該寫什麼來獲得user_hometown? –

+0

好吧...這個怎麼樣:{fields:'name,first_name,user_hometown'} – luschn

+0

@luschin,我已經試過了。它不起作用。我在我的範圍內以及在田地中添加了user_hometown。我只能得到名字,姓氏。但對於性別,家鄉或生日等更多特權,它不起作用:( –