Google api 获取给定用户ID和访问令牌的google用户配置文件

Google api 获取给定用户ID和访问令牌的google用户配置文件,google-api,google-oauth,dialogflow-es,actions-on-google,Google Api,Google Oauth,Dialogflow Es,Actions On Google,所以,我已经设法将谷歌用户帐户链接到我在API.AI上的代理,并发现类似的情况 “配置文件”和“电子邮件”已添加为客户端范围 现在,助手已经在originalRequest->data->inputs->user下向我的履行webhook发送了一个userId和AccessToken 大概是这样的: "user":{ "accessToken":"TWWM**********************bgf", "locale":"en-US", "userId":"AKL

所以,我已经设法将谷歌用户帐户链接到我在API.AI上的代理,并发现类似的情况

“配置文件”和“电子邮件”已添加为客户端范围

现在,助手已经在originalRequest->data->inputs->user下向我的履行webhook发送了一个userId和AccessToken

大概是这样的:

"user":{
    "accessToken":"TWWM**********************bgf",
    "locale":"en-US",
    "userId":"AKL*********************exlT"
 }
到目前为止,我的账户总是被谷歌视为无效

如果我检查我的令牌:

https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=TWWM**********************bgf
它被认为是无效的

{
    "error_description": "Invalid Value"
}
在给定上述accessToken和UserId的情况下,如何获取基本的用户配置文件信息,如名字、姓氏和电子邮件


我应该调用哪个GoogleApi端点?

首先,这里提供的
用户ID
字段不是Google ID。它是一个匿名的、特定于助手的ID,用于在会话之间匿名跟踪某人,但如果用户愿意,可以撤销它。通过OAuth获取附加信息是没有用的

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


我不确定
https://www.googleapis.com/oauth2/v3/tokeninfo
endpoint实际接受访问令牌。至少我找不到任何说明它确实存在的文档。它主要用于将其他令牌交换为访问令牌

您有两个选项可以通过请求的作用域获取所需的信息。在这两种情况下,您都需要在HTTP
Authorization
头中传递
accessToken

Authorization: Bearer TWWM**********************bgf
使用这个方法就是使用这个方法。要仅获取名称和电子邮件地址字段,可以使用URL,如

https://people.googleapi.com/v1/people/me?personFields=names,emailAddresses
https://www.googleapis.com/plus/v1/people/me
类似,但以不同的格式返回信息。在本例中,您将使用URL,如

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

“它主要用于将其他令牌交换为访问令牌”令牌信息端点仅用于获取有关
access\u令牌
id\u令牌
token\u句柄
(api资源管理器)的信息。大多数情况下,它用于检查令牌的有效性