C# 如何从Facebook Graph Api获取用户电子邮件?
我很困惑 我正在尝试使用Facebook Api获取用户数据,我正在使用C# 如何从Facebook Graph Api获取用户电子邮件?,c#,.net,facebook,email,facebook-graph-api,C#,.net,Facebook,Email,Facebook Graph Api,我很困惑 我正在尝试使用Facebook Api获取用户数据,我正在使用scope=email请求电子邮件权限,如下所示: https://www.facebook.com/dialog/oauth?client_id=MY_APP_ID&redirect_uri=MY_URI&scope=email https://graph.facebook.com/me?fields=id,name,email&access_token=MY_TOKEN 在Facebook访问
scope=email
请求电子邮件权限,如下所示:
https://www.facebook.com/dialog/oauth?client_id=MY_APP_ID&redirect_uri=MY_URI&scope=email
https://graph.facebook.com/me?fields=id,name,email&access_token=MY_TOKEN
在Facebook访问确认窗口中,我看到我的应用程序请求访问电子邮件,但即使之后我请求Graph Api,它也不会返回电子邮件(它会返回所有其他字段)
如果我提出这样的请求:
https://www.facebook.com/dialog/oauth?client_id=MY_APP_ID&redirect_uri=MY_URI&scope=email
https://graph.facebook.com/me?fields=id,name,email&access_token=MY_TOKEN
它只返回id和名称。尝试使用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]
呼叫:
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]
谢谢大家抽出时间。在我从Facebook上的帐户中删除应用程序访问权限后,它开始自动工作,然后尝试再次访问。检查您是否具有电子邮件权限,或者用户是否在批准您从URL:Facebook.com/dialog/oauth?client_id=My_app_id&redirect_uri=My_uri&scope=email提出的请求时检查了它。你可以用它来检查。它应该给你回复,通知是否授予电子邮件权限,如下所示:
{
"permissions":{
"data": [
{
"permission": "user_friends",
"status": "granted"
},
{
"permission": "email",
"status": "granted"
},
{
"permission": "public_profile",
"status": "granted"
}
]
},
"id": "10207905751235096"
}
查看facebook工具浏览器了解更多信息:我不确定这是否适用于某个应用程序,如果是,我在发布应用程序之前也遇到过同样的问题。检查文档以了解其是否适用于您: {你的应用程序id}/查看状态/
批准后,电子邮件和其他敏感信息将显示…请尝试这种方式__https://graph.facebook.com/me/?access_token=YOUR_ACCESS_TOKEN