2014-01-10 56 views
4

我有以下代碼並希望獲取Facebook用戶的電子郵件地址和其他詳細信息。這是我所做的代碼。如何使用訪問令牌來獲取Facebook用戶的電子郵件地址和一些基本信息

FB.login(function(response) { 
     if (response.authResponse) { 
     //updateUserInfo(fb_id); 
     console.log(response.authResponse); 
     updateUserInfo(response.authResponse.userID); 
     $.ajax({ 
      dataType: "json", 
      url: 'http://graph.facebook.com/'+response.authResponse.userID+'/ fields=id,name,birthday,email,gender,hometown,location', 
      success: function(data){ 
       fb_data = data; 
       console.log(data); 
      }}); 
},{scope:'email'}); 

我無法得到得到以下信息:

  1. 生日
  2. 電子郵件
  3. 位置
  4. 家鄉

但是,我能夠得到名字和id。

如果我應該使用訪問令牌,我該如何把它放在查詢中?電子郵件地址是我的系統通過電子郵件地址識別用戶的重要信息。

+1

如果用戶要求他們自己的,那麼他們需要授予該APP電子郵件,user_birthday,user_hometown,user_location許可您的情況。如果用戶請求他們的朋友,則應授予friends_birthday,friends_hometown,friends_location。要訪問朋友的電子郵件,有一個已知的錯誤,請參閱http://stackoverflow.com/questions/16630972/facebook-graph-api-wont-return-email-address –

回答

1

你不必使用後的FB.login Ajax調用,您可以使用FB.apidoc,這將確保你已經同時(需要訪問電子郵件)記錄獲取的訪問令牌將被用於訪問數據

2

您需要用戶的以下許可才能從Facebook獲取數據。

  1. user_birthday生日
  2. 電子郵件電子郵件
  3. USER_LOCATION的位置
  4. user_hometown對家鄉

您可以check thisthis其他權限和用途。

然後,一旦用戶點擊登錄按鈕並授權您的應用程序,您將獲得訪問令牌。

相關問題