1

问题: 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

4

2 回答 2

1

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

于 2020-09-22T03:53:34.153 回答
0

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

于 2020-09-11T02:59:03.787 回答