【问题标题】:How can I get a user's Google account photo using IAP and the People API? (NodeJS preferred)如何使用 IAP 和 People API 获取用户的 Google 帐户照片? (首选 NodeJS)
【发布时间】:2019-06-29 16:52:55
【问题描述】:
我有一个使用 Google Cloud IAP 对用户进行身份验证的应用程序。 IAP 要求用户使用其 Google 帐户进行身份验证,然后将标头传递给应用程序以识别该用户(用户 ID、用户电子邮件和令牌)。
我想在使用 People API 进行身份验证后获取用户的 Google 帐户照片(将使用 Plus api,但它正在关闭)。
NodeJS 代码示例会有所帮助,但高级指南或其他语言的示例也会非常有帮助。提前致谢!
【问题讨论】:
标签:
node.js
google-cloud-platform
google-oauth
google-people-api
google-iap
【解决方案1】:
对于任何可能遇到此问题的人,这是我找到的解决方案。
您需要在 GCP 控制台中启用人员 API。然后为它创建一个 API 密钥。
获取“x-goog-authenticated-user-id”标头并去掉其中的“accounts.google.com:”部分,只留下 id。
将该 id 和您的 api 密钥传递给 GET 请求,如下所示:
https://content-people.googleapis.com/v1/people/${userId}?personFields=photos&key=${apiKey}
希望这对其他人也有帮助!