2012-08-26 49 views
1

可能重複:
Facebook Graph API, how to get users email?Facebook - 如何從ID獲取電子郵件?

我玩與Facebook API,並試圖從中獲得可用信息。

$facebook = new Facebook(array('appId' => 'id', 'secret' => 'key')); 
print_r($facebook->api('/my_username_or_id')); 

打印出:

Array ([id] => my_id [name] => whole_name [first_name] => first_name [last_name] => last_name [link] => url_to_profile [username] => username [gender] => gener [locale] => es_LA) 

但不是電子郵件。 當我去Facebook developer test site並設置了用戶名或ID,我得到的是這樣的:

{ 
    "id": "id", 
    "name": "name", 
    "first_name": "first_name", 
    "last_name": "last_name", 
    "link": "link", 
    "username": "username", 
    "gender": "male", 
    "timezone": 2, 
    "locale": "en_US", 
    "verified": true, 
    "updated_time": "2012-07-16T13:00:04+0000" 
} 

像在第一種情況很相似的信息。

但是 - 我無法獲取電子郵件地址。我也試着

print_r($facebook->api('/my_username_or_id?fields=email')); 

,也同樣在FB的開發者網站,但同樣沒有成功......

有沒有什麼辦法讓從ID /用戶名電子郵件地址?

回答

3

要獲取用戶的電子郵件地址,您需要有一個用戶訪問令牌或讓他們在授予了email權限的應用程序中進行身份驗證。

這會爲您提供該用戶的電子郵件。您無法以這種方式獲取用戶的朋友的電子郵件地址。

這可以防止垃圾郵件發送者收集來自Facebook的電子郵件。

+0

我有訪問令牌,我的訪問令牌有user_friends,public_profile如何獲得用戶電子郵件ID?重要的是我得到用戶名和用戶名只有一個我需要的是用戶電子郵件如何從使用userId獲取電子郵件? @ cpiko –

+0

如何添加範圍以訪問令牌以及如何獲取電子郵件?如果有任何例子或建議在5年後分享 –

3

通過使用Facebook的API您只能在您的結果集中獲取自己的電子郵件ID。我認爲,由於安全原因,Facebook不提供其他用戶的電子郵件ID。

+0

這似乎仍然是這種情況。 – Maritim

相關問題