离子 2 谷歌登录 - 检索性别和生日



我正在尝试使用谷歌登录构建一个 Ionic 2 应用程序,我需要检索人员的性别和生日。

这是我到目前为止的代码:

doGoogleLogin() {
GooglePlus.login(
{
'scopes': 'profile',
'webClientId': 'myClientId'
}
)
.then(userData => {
let token = userData.idToken;
console.log(JSON.stringify(userData);
})
.catch(err => console.error(err));
}

用户数据仅包含用户的身份令牌、电子邮件和姓名。
Ionics Google Plus 插件不提供调用任何其他 API 端点的函数。我已经尝试从https://accounts.google.com/o/oauth2/v2/auth获取oauth访问令牌,并将Google People API与https调用一起使用,但我无法使其工作。

任何帮助将不胜感激!

这些来源也可能有所帮助:Google People API,适用于移动应用的OAuth 2.0

@Shabeer提供的答案只是部分正确。对于公共配置文件属性(如性别),可以使用应用程序密钥检索信息。对于专用配置文件数据属性(如生日),必须使用 OAuth 2.0 令牌,即用户必须使用某些特定范围登录,这些范围生成允许您检索私有属性的 OAuth 接受令牌。

请仔细阅读谷歌人脉授权请求页面。获得访问令牌后,可以使用两个 API 获取信息。第一个是Google+,使用URL:

https://www.googleapis.com/plus/v1/people/me

将标头Authorization: Bearer <access_token>添加到请求中。

要测试这种方法,请使用Google+人们得到。请注意,此 API 中使用的权限(点击show scopes)与 Google People API(第二个选项)略有不同。权限包括:

https://www.googleapis.com/auth/plus.login
https://www.googleapis.com/auth/plus.me
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile

在撰写本文时和目前,我还没有成功直接使用第二个选项Google People API来获取年龄范围,但生日是可用的。使用以前的网址测试查询,并注意权限与Google+ API不同(点击show scopes)。

使用 Chrome 开发者工具或任何其他浏览器平台查看测试页使用的网络请求和 OAuth 令牌。您可以使用邮递员测试查询。

希望这对你有帮助, 哈维

工作 API 路径...

您可以使用下面的 api 路径进行获取 api 调用,这将仅返回公开性别和公开生日。

要求: 1. 确保您拥有登录用户的用户 ID。您将从登录响应中获取用户 ID。 2.您需要从凭据部分的谷歌开发人员控制台获得的api密钥...只需点击以下链接,在凭据部分,您将获得 api 密钥。

谷歌开发者控制台

最后使用以下 API 路径进行 GET API 调用......

"https://www.googleapis.com/plus/v1/people/" +用户 ID+ "?key=" +apiKey

注意:确保使用要求步骤 1 和 2 替换 userId 和 apiKey。

相关内容

  • 没有找到相关文章

最新更新