我在Java库(V2)中使用dialogflow-es。
我发现Intent对象没有“将这个intent设置为会话结束”的方法。
我发现'end of conversation‘字段的名称是21,值是1。
因此,我使用.addPaths("unknown_fields")创建了UnknownFieldSet和FieldMask。
但是在更新意图之后,什么都没有改变。
当我从更新意图中删除.setFieldMask(FieldMask fieldMask)时,值发生了更改。
如何使用FieldMask更改未知字段的21
UnknownFieldSet unknownFieldSet = UnknownFieldSet.newBuilder()
.addField(21, Field.newBuilder().addVarint(1).build())
.build();
FieldMask updateFieldMask = FieldMask.newBuilder()
.addPaths("unknown_fields")
.build();
Intent updateIntent = Intent.newBuilder()
.setName(newIntent.getName())
.setUnknownFields(unknownFieldSet)
.build();发布于 2021-03-11 10:21:36
听起来你在找FieldMaskUtil.merge和FieldMaskUtil.fromFieldNumbers。
如果这不起作用,那么您正在做的事情可能是不可能的--使用FieldMask而不是直接使用字段编号。
https://stackoverflow.com/questions/66575487
复制相似问题