我正在玩谷歌行动。 我定义了一个自定义实体。 我想在我的package.json中匹配该实体:
xports.answerColleague = functions.https.onRequest((request, response) => {
const app = new App({request, response});
console.log('Request headers: ' + JSON.stringify(request.headers));
console.log('Request body: ' + JSON.stringify(request.body));
let profession = app.getArgument(PROFESSION_ARGUMENT);
// c. The function that generates the silly name
function answerColleague (app) {
我如何在这里使用我的自定义实体? 假设我定义了一个实体调用专业。 我想检查一下是否= = Profession.DEVELOPER。 其中DEVELOPER是我在实体中添加的行之一。 如何访问这些值以验证用户选择了哪一个?
感谢。
答案 0 :(得分:1)
虽然变量profession
将包含用户所说的内容,但客户端库目前不提供访问可能值枚举的任何功能(例如Profession.DEVELOPER
)。
对于包含相对较短或静态的项目列表的实体,我建议对webhook代码中的对象进行硬编码,以定义可能的值。只要物品不经常变化,这就不会太难维护。为了避免手动创建它,您可以通过exporting Dialogflow代理构建它,然后从生成的JSON中读取列表。
如果您的实体中有很长或动态的项目列表,您可能希望通过API访问它们并动态构建列表。如果项目经常变化,这种额外的工程和维护可能是值得的。您可以查看the /entities
API documentation以获取有关如何通过API获取实体行的信息。