Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从Facebook Graph Api获取用户电子邮件?_C#_.net_Facebook_Email_Facebook Graph Api - Fatal编程技术网

C# 如何从Facebook Graph 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访问

我很困惑

我正在尝试使用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访问确认窗口中,我看到我的应用程序请求访问电子邮件,但即使之后我请求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