谷歌助手API V2用户存储

2024-09-27 23:21:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用dialogflowv2api开发一个Google操作

我的函数将值保存到userstorage,如下所示

def save_value(value):
res = {
  "fulfillmentText": "Set value to {}".format(int(value)),
  "payload": {
    "google": {
      "userStorage": str(value)
    }
  }
}
print ("Saved value")
response = jsonify(res)
return response

我从Dialogflow的测试中得到以下信息

^{pr2}$

这在会话期间有效,我可以通过在以后的意图中使用它

 value = request_json['originalRequest']['data']['user']['userStorage']

但是,数据只为一个会话存储—如果我再次调用操作,则不会保存任何内容。在

这是使用userstorage的正确方法吗?有人在Python中成功地使用了它吗?在

失败的“响应”

{
  "responseMetadata": {
    "status": {
      "code": 10,
      "message": "Failed to parse Dialogflow response into AppResponse because of empty speech response",
      "details": [
        {
          "@type": "type.googleapis.com/google.protobuf.Value",
          "value": "{\"id\":\"816605a7-f7e0-4d37-a490-c84ff63fb7dd\",\"timestamp\":\"2018-11-08T17:18:49.422Z\",\"lang\":\"en-us\",\"result\":{},\"alternateResult\":{},\"status\":{\"code\":206,\"errorType\":\"partial_content\",\"errorDetails\":\"Webhook call failed. Error: 500 Internal Server Error\"},\"sessionId\":\"ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw\"}"
        }
      ]
    }
  }
}

工作“响应”

{
  "conversationToken": "[]",
  "finalResponse": {
    "richResponse": {
      "items": [
        {
          "simpleResponse": {
            "textToSpeech": "Text"
          }
        }
      ]
    }
  },
  "responseMetadata": {
    "status": {
      "message": "Success (200)"
    },
    "queryMatchInfo": {
      "queryMatched": true,
      "intent": "047ad9d9-0180-47f9-88bd-e5ffc8936c08"
    }
  },
  "userStorage": "36237269"
}

工作“请求”

{
  "user": {
    "userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
    "locale": "en-US",
    "lastSeen": "2018-11-08T17:18:16Z",
    "userStorage": "36237269"
  },
  "conversation": {
    "conversationId": "ABwppHE6BwK2zIBKxHA8hc9uBGumVgKbbNGHhRVFz7O6yrxxa1WJ_xtKNqhesj3EwNCVlestM-bF6tDWzZhqUXE",
    "type": "ACTIVE",
    "conversationToken": "[]"
  },
  "inputs": [
    {
      "intent": "actions.intent.TEXT",
      "rawInputs": [
        {
          "inputType": "KEYBOARD",
          "query": "when is the next bus"
        }
      ],
      "arguments": [
        {
          "name": "text",
          "rawText": "when is the next bus",
          "textValue": "when is the next bus"
        }
      ]
    }
  ],
  "surface": {
    "capabilities": [
      {
        "name": "actions.capability.MEDIA_RESPONSE_AUDIO"
      },
      {
        "name": "actions.capability.WEB_BROWSER"
      },
      {
        "name": "actions.capability.AUDIO_OUTPUT"
      },
      {
        "name": "actions.capability.SCREEN_OUTPUT"
      }
    ]
  },
  "isInSandbox": true,
  "availableSurfaces": [
    {
      "capabilities": [
        {
          "name": "actions.capability.WEB_BROWSER"
        },
        {
          "name": "actions.capability.AUDIO_OUTPUT"
        },
        {
          "name": "actions.capability.SCREEN_OUTPUT"
        }
      ]
    }
  ],
  "requestType": "SIMULATOR"
}

失败的“请求”

{
  "user": {
    "userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
    "locale": "en-US",
    "lastSeen": "2018-11-08T17:18:41Z"
  },
  "conversation": {
    "conversationId": "ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw",
    "type": "ACTIVE",
    "conversationToken": "[]"
  },
  "inputs": [
    {
      "intent": "actions.intent.TEXT",
      "rawInputs": [
        {
          "inputType": "KEYBOARD",
          "query": "when is the next bus"
        }
      ],
      "arguments": [
        {
          "name": "text",
          "rawText": "when is the next bus",
          "textValue": "when is the next bus"
        }
      ]
    }
  ],
  "surface": {
    "capabilities": [
      {
        "name": "actions.capability.WEB_BROWSER"
      },
      {
        "name": "actions.capability.MEDIA_RESPONSE_AUDIO"
      },
      {
        "name": "actions.capability.SCREEN_OUTPUT"
      },
      {
        "name": "actions.capability.AUDIO_OUTPUT"
      }
    ]
  },
  "isInSandbox": true,
  "availableSurfaces": [
    {
      "capabilities": [
        {
          "name": "actions.capability.WEB_BROWSER"
        },
        {
          "name": "actions.capability.SCREEN_OUTPUT"
        },
        {
          "name": "actions.capability.AUDIO_OUTPUT"
        }
      ]
    }
  ],
  "requestType": "SIMULATOR"
}

Tags: thenameactionsoutputisvalueresponsetype

热门问题