Direct Line刷新令牌返回的conversation对象缺失字段是否为预期行为
关于Direct Line令牌刷新接口返回字段的说明
结论
你遇到的返回字段缺失属于官方设计的预期行为,并非接口异常。
具体原因
- 官方文档给出的
conversation对象是全量字段的统一定义,不同接口会根据自身作用返回部分字段,不会全量返回所有定义字段。 - 生成令牌接口是为全新会话分配关联令牌,需要返回会话全量配置信息,因此会携带
streamUrl和referenceGrammarId字段,这两个字段在整个会话生命周期内固定不变,不会随令牌刷新发生变更。 - 刷新令牌接口的作用仅为延长当前会话的令牌有效期,因此只会返回和令牌本身强相关的
conversationId、token、expires_in三个字段,不会重复返回会话固定配置字段。
处理方案
你可以在第一次调用生成令牌接口时,将streamUrl和referenceGrammarId两个字段本地持久化存储,后续每次刷新令牌后直接复用这两个存储的值即可,无需依赖刷新接口返回。
内容的提问来源于stack exchange,提问作者greuze
相关产品推荐
相关产品推荐

