[英]How to get a user email from Facebook Graph Api?
我很困惑
我正在嘗試使用Facebook Api獲取用戶數據,我正在使用scope=email
請求電子郵件許可,如下所示:
https://www.facebook.com/dialog/oauth?client_id=MY_APP_ID&redirect_uri=MY_URI&scope=email
在Facebook訪問確認窗口中,我看到我的應用程序請求訪問電子郵件,但是即使在此之后,當我向Graph Api請求時,它也不會返回電子郵件(它會返回所有其他字段)。
https://graph.facebook.com/me?fields=id,name,email&access_token=MY_TOKEN
它僅返回ID和名稱。
謝謝大家的寶貴時間。 在我從Facebook的“我的帳戶”中刪除了應用程序訪問權限之后,嘗試重新獲得訪問權限后,它開始自行運行。
在批准從URL提出的請求時,請檢查您是否具有電子郵件許可或用戶已取消選中它:facebook.com/dialog/oauth?client_id = MY_APP_ID&redirect_uri = MY_URI&scope = email。 您可以使用https://graph.facebook.com/me?fields=permissions&access_token=[TOKEN]進行檢查。 它應該給您響應,通知是否授予電子郵件許可,如下所示:
{
"permissions":{
"data": [
{
"permission": "user_friends",
"status": "granted"
},
{
"permission": "email",
"status": "granted"
},
{
"permission": "public_profile",
"status": "granted"
}
]
},
"id": "10207905751235096"
}
檢查Facebook工具資源管理器以了解更多信息: https : //developers.facebook.com/tools/explorer/
我不確定這是否適用於某個應用程序,如果是這樣,在發布我的應用程序之前,我遇到了同樣的問題。 查看文檔以查看它是否適用於您:
https://developers.facebook.com/apps/ {您的應用ID} / review-status /
批准后,電子郵件和其他敏感信息將顯示...
嘗試使用C#SDK即可輕松完成。 此鏈接中有一些示例。
希望能幫助到你。
為此使用FQL API:
查詢:
select contact_email from user where uid=me()
呼叫:
https://api.facebook.com/method/fql.query?format=json&query=select+contact_email+from+user+where+uid%3Dme%28%29&access_token=[access_token]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.