问题: Google 操作构建器实现似乎没有在请求中发送用户访问令牌
描述: 我正在将一个机器人从对话流助手集成迁移到操作构建器 ( https://codelabs.developers.google.com/codelabs/actions-1/#0 )。由于我需要用户信息来处理请求,因此我将使用与 oauth 身份验证代码流关联的帐户。由于我已经使用 dialogflow-google 助手集成构建了一个机器人,因此我的 Auth 服务器运行没有任何问题。
问题似乎仅与谷歌操作有关,即使在用户帐户被链接之后,操作执行请求似乎也没有发送用户访问令牌。
谷歌操作发送的网络请求:
{
"handler": {
"name": "StatusKey"
},
"intent": {
"name": "StatusKeys",
"params": {},
"query": "Status of keys"
},
"scene": {
"name": "StatusKeys",
"slotFillingStatus": "UNSPECIFIED",
"slots": {}
},
"session": {
"id": "ABwppHHPFyRT9H389dscBq5wk9Pg8qbaBzYtN2nEmxXHdss_cwD9IIjfV447cq6A3oFFKE8DgeOdIA",
"params": {},
"typeOverrides": [],
"languageCode": ""
},
"user": {
"locale": "en-US",
"params": {},
"accountLinkingStatus": "LINKED",
"verificationStatus": "VERIFIED",
"packageEntitlements": [],
"lastSeenTime": "2020-09-10T01:57:46Z"
},
"home": {
"params": {}
},
"device": {
"capabilities": [
"SPEECH",
"RICH_RESPONSE",
"WEB_LINK",
"LONG_FORM_AUDIO"
]
}
}
我还检查了令牌端点是否返回了谷歌访问所需的所有令牌。附上它的示例响应。
{
"id_token": "****************************",
"access_token": "**************************",
"expires_in": 3600,
"token_type": "Bearer",
"refresh_token": "**************************",
"scope": "openid Api offline_access"
}
奇怪的是,在 dialogflow-google 助手集成中,相同的设置工作正常,在履行请求中发送用户访问令牌。
我已按照随附文章中的步骤操作: https ://developers.google.com/assistant/identity/oauth2?oauth=code