[英]How to add FieldMask of unknown field '21' in Java
I'm using dialogflow-es with Java library(v2).我将 dialogflow-es 与 Java 库(v2)一起使用。
And I found that Intent object doesn't have the method of "Set this intent as end of conversation".而且我发现 Intent object 没有“将此意图设置为对话结束”的方法。
I found that field's name of 'end of conversation' is 21
, and value is 1
.我发现“对话结束”字段的名称是
21
,值是1
。
So, I created the UnknownFieldSet
and FieldMask
with .addPaths("unknown_fields")
.因此,我使用
.addPaths("unknown_fields")
创建了UnknownFieldSet
和FieldMask
。
But after update intent, nothing was changed.但是在更新意图之后,什么都没有改变。
When I remove .setFieldMask(FieldMask fieldMask)
from update intent, value was changed.当我从更新意图中删除
.setFieldMask(FieldMask fieldMask)
时,值已更改。
How can I change unknown field 21
with 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();
It sound like you're looking for FieldMaskUtil.merge and FieldMaskUtil.fromFieldNumbers .听起来您正在寻找FieldMaskUtil.merge和FieldMaskUtil.fromFieldNumbers 。
If that doesn't work, then what you're doing may just be impossible -- to do it with FieldMask
instead of with field numbers directly.如果这不起作用,那么您正在做的事情可能是不可能的——使用
FieldMask
而不是直接使用字段编号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.