在使用Firebase进行Google登录时获取用户性别,但不获取所有用户性别吗?

时间:2018-08-01 14:42:00

标签: android google-signin

场景:

我正在尝试在Android应用中使用[Fact] public void TestMethod1() { var objectList = new ReactiveList<IMyObject>( initialContents: new[] { new MyObject(), new MyObject() }, resetChangeThreshold: 0.3, scheduler: ImmediateScheduler.Instance); objectList.ChangeTrackingEnabled = true; IMyViewModel myViewModel = new MyViewModel { ObjectList = objectList, MyObject = new MyObject() }; var canExecute = myViewModel.Save .CanExecute .CreateCollection(scheduler: ImmediateScheduler.Instance); Assert.Equal(1, canExecute.Count); Assert.False(canExecute[0]); myViewModel.ObjectList[0].Active = true; Assert.Equal(2, canExecute.Count); Assert.True(canExecute[1]); myViewModel.MyObject.Active = true; Assert.Equal(2, canExecute.Count); myViewModel.IsBusy = true; Assert.Equal(3, canExecute.Count); Assert.False(canExecute[2]); myViewModel.IsBusy = false; Assert.Equal(4, canExecute.Count); Assert.True(canExecute[3]); myViewModel.MyObject.Active = false; Assert.Equal(4, canExecute.Count); var object1 = new MyObject { Active = true }; var object2 = new MyObject { Active = true }; myViewModel.ObjectList = new ReactiveList<IMyObject>( initialContents: new[] { object1, object2 }, resetChangeThreshold: 0.3, scheduler: ImmediateScheduler.Instance); Assert.Equal(4, canExecute.Count); object1 = new MyObject { Active = false }; object2 = new MyObject { Active = false }; myViewModel.ObjectList = new ReactiveList<IMyObject>( initialContents: new[] { object1, object2 }, resetChangeThreshold: 0.3, scheduler: ImmediateScheduler.Instance); Assert.Equal(5, canExecute.Count); Assert.False(canExecute[4]); } 来登录GOOGLE SIGN IN,我的基本需求是在Firebase Google Login登录应用时检索USER的性别。< / p>

问题:

即使我获得了USER的性别,但又不是全部 USERS,所以问题出在哪里,因为仅获得一些用户的性别就很奇怪了,所以我的问题是为什么我登录时没有得到所有用户的性别?

USERS

1 个答案:

答案 0 :(得分:1)

问题是gender应该由用户在其Google +帐户上明确共享。我建议您自己尝试。

  1. 转到此页面https://developers.google.com/people/api/rest/v1/people/get
  2. 类型resourceName = people/mepersonFields = genders
  3. 执行请求,很可能只有resourceNameetag字段会得到响应。
  4. 现在转到https://plus.google.com/u/0/me页,这将打开您的Google+页面并打开“帐户设置”。或者,您可以直接打开https://aboutme.google.com/u/0/页面。
  5. 单击“性别”旁边的图标。这是可见性设置,因此用户可以选择是公开,私有还是仅与圈子共享。建议您尝试其他可见性选项,并在第3步中检查它如何更改响应。

TL; DR:G +上有Gender个可见性设置,用户可能选择不共享其性别,并且在身份验证期间没有专用的配置文件范围可请求。此设置是竞争性私有。