Facebook C#SDK没有返回所有信息

时间:2016-02-29 13:17:27

标签: c# facebook facebook-graph-api facebook-c#-sdk facebook-sdk-4.0

我的权限范围在此定义:

var loginUrl = fb.GetLoginUrl(new
        {
            client_id = ConfigurationManager.AppSettings["facebookAppID"].ToString(),
            client_secret = ConfigurationManager.AppSettings["facebookAppSecret"].ToString(),
            redirect_uri = RedirectUri.AbsoluteUri,
            response_type = "code",
            scope = "public_profile, email, user_friends, user_about_me, user_birthday, user_education_history, user_work_history, user_location" // Add other permissions as needed
        });

然后我以这种方式获取访问令牌:

var fb = new FacebookClient();
        fb.AppId = ConfigurationManager.AppSettings["facebookAppID"].ToString();
        fb.AppSecret = ConfigurationManager.AppSettings["facebookAppSecret"].ToString();

        dynamic result = fb.Post("oauth/access_token", new
        {
            client_id = ConfigurationManager.AppSettings["facebookAppID"].ToString(),
            client_secret = ConfigurationManager.AppSettings["facebookAppSecret"].ToString(),
            redirect_uri = RedirectUri.AbsoluteUri,
            code = code
        });

然后我以这种方式将我的访问令牌分配给Facebook客户端:

fb.AccessToken = accessToken; 

我有一个自定义类来从Facebook SDK中检索数据:

dynamic userDetails = fb.Get("me", new { fields = "name, email, gender, birthday, education, work" });
dynamic userEducation = fb.Get("me?fields=education");
//2. Store details to be used
var facebookUserDetails = new UserFacebookDetails();
facebookUserDetails.Name = userDetails.name;
facebookUserDetails.Email = userDetails.email;
facebookUserDetails.Gender = userDetails.gender;
facebookUserDetails.SetBirthDayVals(userDetails.birthday);

我只获取姓名,电子邮件和性别的数据。我无法获得有关生日,教育或工作的信息。我在Facebook API Explorer上查看相同的端点,然后获取信息。怎么了?有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:1)

我想我已经找到了解决这个问题的方法。问题的根源在于Facebook。我没有提交我的应用程序进行审核,通常,这三个范围是在使用之前需要提交的集合中。

答案 1 :(得分:0)

请检查你的FB app => APP Review =>批准的项目。 最初支持email,public_profile,user_friends。 所有其他必需的登录范围将不会返回! 当您将应用程序公开后,在登录其他帐户时,您可以在与应用程序所有者登录相同时检索正确的权限。 如果你想获得更多许可......你必须提交给FB。 这个问题也是fxxx我1周:))

App Review ScreenShot