0

我正在使用 Actions Builder 来创建我的聊天机器人,并且在用户使用 Google 登录后,我想将他的 ID 保存到存储变量中。conv.user 上不存在此存储变量。所以我这样做:

if (conv.user.verificationStatus === 'VERIFIED') {
  conv.user.storage = {};
  conv.user.storage.id = str.rows[0].id;
  console.log("STORAGE");
  console.log(conv.user.storage.id);
}

但在 Google Assistant 上,它返回错误消息,在我的 Webhook 上一切正常(没有显示错误): Google Assistant Error

我可以做些什么来至少保存/保留我的用户 ID 以供将来参考?

4

1 回答 1

0

由于用户完成了一次 Google 登录过程,因此每次他输入您的操作时,您都会获得他的请求信息(有效负载)。它会自动添加到用户存储中。

您应该将其存储在 conv.user.params 并在您的代码中引用它。

您可能有一个getset方法来帮助您:

getUserId(conv) {
    return conv.user.params.userId;
}

setUserId(conv, userId) {
    try {
        conv.user.params.userId = userId;
    } catch (e) {
        throw new error("Error setting USERID");
    }

    return userId;
}
于 2021-02-04T14:48:00.693 回答