Google动作未在履行请求中传递用户信息访问令牌/身份令牌

问题描述

问题: Google Actions Builder履行似乎没有在请求中发送用户访问令牌

说明: 我正在将一个机器人从dialogflow Assistant集成迁移到动作生成器(https://codelabs.developers.google.com/codelabs/actions-1/#0)。由于我需要用户信息来处理请求,因此我将使用带有oauth身份验证代码流的帐户链接。由于我已经构建了一个带有dialogflow-google助手集成的机器人,因此我运行的Auth服务器没有任何问题。

问题似乎仅与Google操作有关,即使在用户帐户被链接后,这些操作执行请求似乎也没有发送用户访问令牌。

Google操作发送的网络请求:

{
"handler": {
    "name": "StatusKey"
},"intent": {
    "name": "StatusKeys","params": {},"query": "Status of keys"
},"scene": {
    "name": "StatusKeys","slotFillingStatus": "UNSPECIFIED","slots": {}
},"session": {
    "id": "ABwppHHPFyRT9H389dscBq5wk9Pg8qbaBzYtN2nEmxXHdss_cwD9IIjfV447cq6A3oFFKE8DgeOdIA","typeOverrides": [],"languageCode": ""
},"user": {
    "locale": "en-US","accountLinkingStatus": "LINKED","verificationStatus": "VERIFIED","packageEntitlements": [],"lastSeenTime": "2020-09-10T01:57:46Z"
},"home": {
    "params": {}
},"device": {
    "capabilities": [
        "SPEECH","RICH_RESPONSE","WEB_LINK","LONG_FORM_AUdio"
    ]
}

}

User account linked

我还检查了令牌端点是否返回了所有必需的令牌,以供Google访问。附加了样本回复

{
"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

解决方法

在我的情况下,我无法在标头或请求正文中找到accesstoken,帐户链接已成功完成,但令牌未附加到标头或请求正文中。

,

看起来令牌已在 request标头中传递。结束问题!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...