gpt4 book ai didi

google-api - 在给定用户 ID 和访问 token 的情况下获取谷歌用户配置文件

转载 作者:行者123 更新时间:2023-12-05 05:19:17 26 4
gpt4 key购买 nike

因此,我已按照此 guide 设法将 Google 用户帐户链接到我在 API.AI 上的代理并找到类似的 answer对此。

“个人资料”和“电子邮件”已添加为客户端范围。

现在,助手已将 userId 和 AccessToken 发送到我的 fulfillment webhook,在 originalRequest-> data-> inputs->user 下

像这样:

"user":{
"accessToken":"TWWM**********************bgf",
"locale":"en-US",
"userId":"AKL*********************exlT"
}

到目前为止,我的 accesToken 始终被 Google 视为无效。

如果我检查我的 token :

https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=TWWM**********************bgf

它呈现为无效

{
"error_description": "Invalid Value"
}

如何根据上述 accessToken 和 UserId 获取基本的用户个人资料信息,例如 First Name、Last Name 和 Email?

我应该调用哪个 GoogleApi 端点?

最佳答案

首先,此处提供的 userId 字段不是 Google ID。它是一个匿名的、特定于 Google 助理的 ID,旨在用于在 session 之间匿名跟踪一个人,但用户可以根据需要撤销该 ID。通过 OAuth 获取额外信息没有用。

接下来,在您的测试过程中请记住,accessToken 的生命周期有限 - 通常约为一个小时。如果您在那个小时后进行测试,您尝试从中获取信息的端点将返回错误。 (而且 OAuth 喜欢对错误的实际内容含糊其辞。)

我不确定 https://www.googleapis.com/oauth2/v3/tokeninfo 端点实际上接受访问 token 。至少我找不到任何说明它确实如此的文档。它主要用于将其他 token 换成访问 token 。

您有几个选项可以在您请求的范围内获取您想要的信息。 (可能不止这里提到的两个。)在这两种情况下,您都将在 HTTP Authorization header 中传递 accessToken:

Authorization: Bearer TWWM**********************bgf

使用 Google People API你会使用 people.get方法。要仅获取姓名和电子邮件地址字段,您可以使用 URL,例如

https://people.googleapi.com/v1/people/me?personFields=names,emailAddresses

plus.people.get类似,但以不同的格式返回信息。在这种情况下,您将使用诸如

之类的 URL
https://www.googleapis.com/plus/v1/people/me

关于google-api - 在给定用户 ID 和访问 token 的情况下获取谷歌用户配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46601152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com