Android 生日范围未显示在facebook登录权限对话框中

Android 生日范围未显示在facebook登录权限对话框中,android,ios,facebook,facebook-graph-api,xamarin.forms,Android,Ios,Facebook,Facebook Graph Api,Xamarin.forms,我正在使用xamarin.forms PCL项目,它有两个项目android和IOS 我已经将facebook整合到我的项目中。 我在facebook sdk中通过了三个权限public\u profile,email,user\u birth。 当我尝试通过facebook登录时,facebook权限对话框页面打开,但它只要求接受两个权限电子邮件,公共档案,而不要求用户生日权限 以下是我的代码: public class FacebookLoginButtonRenderer : Bu

我正在使用xamarin.forms PCL项目,它有两个项目android和IOS

我已经将facebook整合到我的项目中。 我在facebook sdk中通过了三个权限
public\u profile
email
user\u birth
。 当我尝试通过facebook登录时,facebook权限对话框页面打开,但它只要求接受两个权限
电子邮件
公共档案
,而不要求
用户生日
权限

以下是我的代码:

    public class FacebookLoginButtonRenderer : ButtonRenderer,IFacebook
    {
        private static Activity _activity;

        protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
        {
            base.OnElementChanged(e);

            _activity = this.Context as Activity;

            if (this.Control != null)
            {
                Android.Widget.Button button = this.Control;
                button.SetOnClickListener(ButtonClickListener.Instance.Value);
            }
        }

        void IFacebook.Logout()
        {
            LoginManager.Instance.LogOut();
        }

        private class ButtonClickListener : Object, IOnClickListener
        {
            public static readonly Lazy<ButtonClickListener> Instance = new Lazy<ButtonClickListener>(() => new ButtonClickListener());

            public void OnClick(View v)
            {
                LoginManager.Instance.LogInWithReadPermissions(_activity, new List<string> { "public_profile","email","user_birthday"});
            }
        }
    }

  FacebookClient fb = new FacebookClient(AccessToken);
   fb.GetTaskAsync("me?fields=id,email,first_name,last_name,gender,birthday").ContinueWith(t =>   
            {
                if (!t.IsFaulted)
                {

                    var obj = (IDictionary<string, object>)t.Result;
}
});
公共类FacebookLoginButtonRenderer:ButtonRenderer,IFacebook
{
私有静态活动_活动;
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
_activity=this.Context作为活动;
if(this.Control!=null)
{
Android.Widget.Button=this.Control;
SetOnClickListener(ButtonClickListener.Instance.Value);
}
}
void IFacebook.Logout()
{
LoginManager.Instance.LogOut();
}
私有类按钮ClickListener:对象,IOnClickListener
{
公共静态只读惰性实例=新建惰性(()=>新建按钮ClickListener());
公共void OnClick(视图v)
{
LoginManager.Instance.LogInWithReadPermissions(_活动,新列表{“public_profile”,“email”,“user_birth”});
}
}
}
FacebookClient fb=新的FacebookClient(AccessToken);
fb.GetTaskAsync(“me?fields=id,email,名,姓,性别,生日”)。ContinueWith(t=>
{
如果(!t.IsFaulted)
{
var obj=(IDictionary)t.Result;
}
});
在登录权限对话框中,不要求生日,如下图所示

请建议如何解决这个问题


提前感谢

自从Graph API的v2.0版以来,再也不可能获得朋友的生日了。您只能使用“用户\生日”权限获取授权用户的生日。有关更多信息,请参阅变更日志:

只有一种可能性:如果朋友使用用户_birth授权应用程序,您可以通过以下呼叫获得他的生日:/friend id?fields=birth

当然,为了使这项工作正常进行,您也需要授权用户与用户的朋友。您也可以只存储所有授权用户的生日,而不浪费额外的API调用。 选中此项:


将用户的生日更改为用户的生日,将性别更改为用户的性别,然后按照上的说明提交应用以查看权限

是否使用在应用中具有角色的帐户进行测试?我不想要朋友的生日,我想要一个已经登录的facebook用户的生日。我想我必须提交应用程序审查才能获得生日详细信息