actions-on-google - 缺少用于在新的 Actions SDK 上进行交易的 conversationId
问题描述
我正在尝试https://actions.googleapis.com/v3/packages/{packageName}/skus:batchGet
按照第 2 节中的说明发布请求。在非消耗性数字交易指南中。在此处粘贴相关代码段:
return jwtClient.authorize((err, tokens) => {
if (err) {
throw new Error(`Auth error: ${err}`);
}
const packageName = 'com.example.projectname';
request.post(`https://actions.googleapis.com/v3/packages/${packageName}/skus:batchGet`, {
'auth': {
'bearer': tokens.access_token,
},
'json': true,
'body': {
'conversationId': conversationId,
'skuType': 'APP',
// This request is filtered to only retrieve SKUs for the following product IDs
'ids': ['nonconsumable.1']
},
}, (err, httpResponse, body) => {
if (err) {
throw new Error(`API request error: ${err}`);
}
console.log(`${httpResponse.statusCode}: ${httpResponse.statusMessage}`);
console.log(JSON.stringify(body));
});
});
});
请求正文应该有一个conversationId
字段。虽然此字段存在于Dialogflow 和旧版 Actions SDK中,但据我所知,新的 Actions SDK webhook 请求中缺少该字段。
新的 Actions SDK 文档链接到该数字交易指南,因此我认为它应该是兼容的,但没有发现需要进行调整才能使用它。
conversationId
所以我的问题是,当从 webhook 进行交易以满足来自新 Actions SDK 的请求时,如何获取它?
解决方案
文档中提供的片段不正确。
请使用会话 ID。您可以通过 访问此值conv.session.id
。
推荐阅读
- python - 正则表达式:插入带有自身和参数的函数并添加具有相同参数的换行符
- twitter-bootstrap - 如何使用引导程序在列中垂直居中一行?
- javascript - 使用 Typescript 编译器 API 读取和更新对象
- r - ggplot - 将下标和第二行添加到 x 轴刻度标签
- c++ - 更改虚函数以添加新参数
- java - 无法显示来自 Firebase 实时数据库的最后一条消息
- deep-learning - fast.ai ImageDataBunch 中的序数类
- android - 在片段中使用 getView().findViewById 会返回 NullPointerException
- android - 使用另一个类的对话框重新加载 mainActivity
- javascript - Vue js如何迭代对象的对象以从html标签访问和显示其中元素的详细信息