当前位置: 首页 > 知识库问答 >
问题:

从Google OAuth获取某些用户的空名字和姓氏

狄峻熙
2023-03-14

我们的系统使用Google Oauth来允许用户从Google帐户注册。然而,对于一些用户,我们只能得到电子邮件和头像,而不是名字和姓氏。

Oauth Google控制台中的设置添加了以下作用域:

  • 电子邮件
  • 配置文件
  • openid
  • /auth/contacts.readonly

使用以下范围进行请求

    < Li > https://www . Google APIs . com/auth/userinfo . email < Li > https://www . Google APIs . com/auth/contacts . readonly < Li > https://www . Google APIs . com/auth/plus . me

从API返回的结果是

{
  "identifier": "1026834XXX",
  "webSiteURL": "",
  "profileURL": "",
  "photoURL": "https:\/\/lh3.googleusercontent.com\/a-\/AAuE7mAZnGB1XXX",
  "displayName": "",
  "description": "",
  "firstName": "",
  "lastName": "",
  "gender": "",
  "language": "",
  "age": "",
  "birthDay": 0,
  "birthMonth": 0,
  "birthYear": 0,
  "email": "fXXX@gmail.com",
  "emailVerified": "",
  "phone": "",
  "address": null,
  "country": "",
  "region": "",
  "city": null,
  "zip": ""
}

不是每个gmail帐户都应该有名字和姓氏吗?

共有1个答案

乐正洲
2023-03-14

谷歌只返回关于用户的数据,所以如果用户没有填写信息,api就不会返回。此外,有些信息可以由用户设置为私有,即出生日期,为了让api返回该数据,用户必须在他们的配置文件中将他们的出生日期设置为公共。

我能给的唯一建议是将field=*添加到您的请求中,这应该确保返回google拥有的所有数据。一些Google API限制了响应,并要求您在调用中使用field参数,如果您想要额外的数据。

 类似资料:
  • 我正在使用Python电报机器人创建一个电报机器人 我知道更新。消息chat_id返回用户的聊天id,但我需要知道如何获取用户的用户名或名字和/或姓氏。 我在Telegram的文档中找到了这个,但我不知道如何使用它(我尝试了bot.getChat(update.message.chat\u id),但没有结果)

  • 我需要帮助来分别获得名字和姓氏。 字段为[全名]:Halsey S Dunn 我可以单独获得名字,但无法单独获得姓氏: 这是我的名字和姓氏代码: 我的结果需要是:

  • 问题内容: 我想获取联系人姓名,但无法。看完这个答案后,我尝试使用family,给定的和显示的来获取名称,但没有任何效果 / 问题答案: 尝试以下代码以获取特定号码的联系方式 更多详细信息请参见下面的链接https://tausiq.wordpress.com/2012/08/23/android-get-contact- details-id-name-phone-photo/

  • 本文向大家介绍使用JavaScript拆分名字和姓氏?,包括了使用JavaScript拆分名字和姓氏?的使用技巧和注意事项,需要的朋友参考一下 假设以下是我们的名称字符串- 使用分割名字和姓氏。以下是代码- 示例 要运行上述程序,您需要使用以下命令- 输出结果 在这里,我的文件名为demo163.js。这将产生以下输出-

  • 问题内容: 我有一个客户列表,其名称为全名。我想创建一个将全名作为参数并分别返回名字和姓氏的函数。如果不可能,我可以有两个单独的函数,一个返回名字,另一个返回姓氏。全名列表包含最多三个单词的名称。我想要的是: 全名由两个词组成时。第一个应该是名称,第二个应该是姓氏。 当一个全名由三个词组成时。第一个单词和中间单词应为名字,第三个单词应为姓氏。 例子:- 结果:- 我搜索并找到了无法按预期运行的解决