SDKフォーラムの対象とは異なるかもしれないが、kintone Java Clientに関するフォーラムがなかったのでこちらに投稿させて頂きます。
実現したいこと
kintone Java Clientで、初期値が設定されたユーザー選択フィールドや組織選択フィールドが存在するアプリでもフォーム設定を取得できるようにする
エラー情報
初期値に"ログインユーザー"が設定されたユーザー選択フィールドや、初期値に"優先する組織"が設定された組織選択フィールドが存在するアプリに対してkintone Java ClientのAppClientクラスのgetFormFields(appId)メソッドを実行すると下記エラーが発生する。
Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type com.kintone.client.model.EntityType from String “FUNCTION”: not one of the values accepted for Enum class: [ORGANIZATION, FIELD_ENTITY, USER, CREATOR, GROUP, CUSTOM_FIELD]
at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: com.kintone.client.api.app.GetFormFieldsResponseBody[“properties”]->java.util.LinkedHashMap[“owner_org”]->com.kintone.client.model.app.field.OrganizationSelectFieldProperty[“defaultValue”]->java.util.ArrayList[0]->com.kintone.client.model.Entity[“type”])
at com.fasterxml.jackson.databind.exc.InvalidFormatException.from(InvalidFormatException.java:67)
at com.fasterxml.jackson.databind.DeserializationContext.weirdStringException(DeserializationContext.java:1679)
at com.fasterxml.jackson.databind.DeserializationContext.handleWeirdStringValue(DeserializationContext.java:935)
at com.fasterxml.jackson.databind.deser.std.EnumDeserializer._deserializeAltString(EnumDeserializer.java:255)
at com.fasterxml.jackson.databind.deser.std.EnumDeserializer.deserialize(EnumDeserializer.java:179)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:530)
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:528)
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:417)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1287)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:326)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:159)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:286)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:288)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:4189)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2476)
at com.fasterxml.jackson.databind.ObjectMapper.treeToValue(ObjectMapper.java:2929)
at com.kintone.client.FieldPropertyDeserializer.deserialize(FieldPropertyDeserializer.java:45)
at com.kintone.client.FieldPropertyDeserializer.deserialize(FieldPropertyDeserializer.java:1)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:527)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:364)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:29)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:530)
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:528)
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:417)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1287)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:326)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:159)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4218)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3251)
at com.kintone.client.JsonMapper.parse(JsonMapper.java:50)
… 11 common frames omitted
利用したソースコード
try (KintoneClient client = KintoneClientBuilder
.create(config.getUrl())
.authByApiToken(config.getApiToken())
.build()) {
AppClient appClient = client.app();
Map<String, FieldProperty> formFields = appClient.getFormFields(config.getAppId());
}
試したこと
ユーザー選択フィールドや組織選択フィールドの初期値設定を削除して実行すると正常に取得できたが、初期値設定は開発仕様上必要となるため、是非とも対応してほしい。
再現条件
- 上記の通り