Google动作是否有独特的ID?

时间:2018-02-12 16:54:30

标签: actions-on-google google-home

为Alexa开发时,每项技能都有唯一的ID。这允许我使用相同的lambda / codebase开发多种技能,根据技能ID返回唯一信息。

但是,根据我在Google智能助理中看到的内容,炬力没有ids。请求包含唯一的userIdconversationId。响应包括intent个ID - 但是无法识别动作本身。

我可能错过的任何想法/指示?

1 个答案:

答案 0 :(得分:3)

有几种方法可以解决这个问题,具体取决于您为webhook使用的平台。

对于Dialogflow和Action SDK,您始终可以将唯一查询参数指定为webhook的一部分,甚至可以将webhook的不同路径部分转到同一个lambda并检查查询值或路径。这样做的好处是,您可以完全控制可能的值。

如果您正在使用Dialogflow,则每个Intent都会有一个唯一的IntentID。这可能是跟踪哪一个被调用的一种方法。但这似乎有些愚蠢。

对于Dialogflow,您可以在Dialogflow控制台中设置唯一标头,然后在您的webhook中检查这些标头的值。同样,这具有让您控制价值的优势。

Action SDK没有该功能,但它确实在 Authorization 标头中传输了一个JWT令牌。此令牌适用于verifying来自正确的项目(以及来自Google),但是一旦您对其进行解码(并对其进行了验证),aud字段应包含与动作控制台中的项目。