2012-01-10 52 views

回答

8

你不能這樣做,

http://developers.facebook.com/docs/reference/api/permissions/

email場僅可用於連接到您的應用程序和用戶都給予email擴展權限

+3

@Mang Jose:如果你的每個朋友都連接到你的應用程序,並且他們每個人都給了你一個'email'權限 - 那麼你就可以獲得他們'user'對象的'email'屬性。擴展的權限名稱是(ta-dah)'email',你可以在 – zerkms 2012-01-10 02:44:37

+1

以上的鏈接上獲得詳細信息,但是根據http://developers.facebook.com/docs/沒有列出擴展權限的電子郵件。 reference/api/permissions/ – 2012-01-10 03:00:33

+0

@Mang Jose:oops,不是'extended',而是一般的'user'權限。第一張表 – zerkms 2012-01-10 03:09:35

1

從這個鏈接獲取信息:

Procedure

Statckoverflow discussion

如果用戶/朋友還沒有給您的應用程序的電子郵件許可,您可能無法獲得電子郵件地址。對於像這樣的實例,您可以選擇僅篩選已授予您應用權限的朋友。這可以通過使用is_app_user現場完成:

SELECT uid, first_name, last_name FROM user 
    WHERE is_app_user = 1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = $userId) 

獲取更新答:

$appId  = 'YOUR_APP_ID'; 
$appSecret = 'YOUR_APP_SECRET'; 

$userId   = 'A_FACEBOOK_USER_ID'; 
$userAccessToken = 'THE_FACEBOOK_USER_ACCESS_TOKEN'; 

$client = new Facebook(array('appId' => $appId, 'secret' => $appSecret)); 

// get all friends who has given our app permissions to access their data 
$fql = "SELECT uid, first_name, last_name, email FROM user " 
    . "WHERE is_app_user = 1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = $userId)"; 
$friends = $client->api(array(
    'method'  => 'fql.query', 
    'access_token' => $userAccessToken, 
    'query'  => $fql, 
)); 

// make an array of all friend ids 
$friendIds = array(); 
foreach ($friends as $friend) { 
    $friendIds[] = $friend['uid']; 
} 

// get info of all the friends without using any access token 
$friendIds = implode(',', $friendIds); 
$fql = "SELECT uid, first_name, last_name, email FROM user WHERE uid IN ($friendIds)"; 
$friends = $client->api(array(
    'method' => 'fql.query', 
    'query' => $fql, 
    // don't use an access token 
)); 

// we should now have a list of friend infos with their email addresses 
print_r($friends); 
5

沒有,應用程序不能得到朋友的電子郵件中Email Permissions文件規定。從文檔引用:

注意:應用程序無法獲取用戶朋友的電子郵件地址。

+1

+1。 FB本身的聲明。 – 2013-11-06 10:10:56

3

用戶的電子郵件是受保護的屬性,訪問該信息必須由應用程序明確請求並由用戶授予。

注意:應用程序無法獲取用戶朋友的電子郵件地址。

1

您可以訪問用戶的好友列表。由於這些朋友可能沒有授權您的應用程序,因此您只能訪問默認情況下更受限制的一組數據:只有名稱,個人資料圖片,性別,網絡。 如果用戶授予您特定的權限,則Facebook配置文件的大多數其他部分(例如興趣,簽到,羣組)都可以通過Graph API獲得。這適用於用戶的信息以及他/她的朋友的信息。 根據用戶的隱私設置提供信息。

相關問題