Google api 获取给定用户ID和访问令牌的google用户配置文件
所以,我已经设法将谷歌用户帐户链接到我在API.AI上的代理,并发现类似的情况 “配置文件”和“电子邮件”已添加为客户端范围 现在,助手已经在originalRequest->data->inputs->user下向我的履行webhook发送了一个userId和AccessToken 大概是这样的: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
"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实际接受访问令牌。至少我找不到任何说明它确实存在的文档。它主要用于将其他令牌交换为访问令牌
您有两个选项可以通过请求的作用域获取所需的信息。在这两种情况下,您都需要在HTTPAuthorization
头中传递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资源管理器)的信息。大多数情况下,它用于检查令牌的有效性