kintone Java Clientでラジオボタンが全角の値を抽出するときの操作について

kintone Java Clientの質問をさせていただきたいと思います。

kintone  Java Client 1.0.2 を用いてラジオボタンの値を条件にRecordを抽出しようとしています。

下記のRecordClientのGetRecordsメソッドに全角文字のqueryを実行させました。


String query =“touroku in ("登録済み")” ;
return client.record().getRecords(12,query);


すると下記のメッセージが表示されました。

com.kintone.client.exception.KintoneApiRuntimeException: HTTP error status 400, {“code”:“CB_IJ01”,“id”:“4MZpPrsWPuZafpGtOykb”,“message”:“不正なJSON文字列です。”}

念のため全角文字に対してURLEncoderクラスのencodeメソッドを実行させました。


String query =“touroku in ("” + URLEncoder.encode(“登録済み”,“UTF-8”) + “")” ;
return client.record().getRecords(12,query);


すると下記のメッセージに変わりました。

com.kintone.client.exception.KintoneApiRuntimeException: HTTP error status 520, {“code”:“GAIA_IQ10”,“id”:“6Jq8ihxiuTKhw42OPLeO”,“message”:“フィールド「請求センター登録済」の項目に「%E7%99%BB%E9%8C%B2%E6%B8%88%E3%81%BF」は存在しません。”}

ラジオボタンの値を半角にすると正しく抽出されるのですが、当方のquery条件に誤りでしょうか。もしご存知の方がいらっしゃいましたらご教授いただけますでしょうか。

環境は下記の通りです

①Apache Netbeans 11.1

②jdk1.8.0_201

どうぞよろしくお願いします。

Y.Miki さん

こんにちは。ひよこです。

書かれているクエリの書き方(上の方)で実行してみましたが、エラーにならずレコードを取得できました。
このコードでも、やっぱりエラーになるでしょうか?

try (KintoneClient client = KintoneClientBuilder.create(baseUrl).authByApiToken(apiToken).build()) {
RecordClient recordClient = client.record();
String query = "touroku in (\"登録済み\")";
List<Record> records = recordClient.getRecords(appId, query);
System.out.println(records.get(0).getRadioButtonFieldValue("touroku"));
} catch (KintoneApiRuntimeException e) {
e.printStackTrace();
}

確認した環境は以下です。

  • openjdk version: 1.8.0_265
  • kintone-java-client: 1.0.2
  • VSCode

ひよこさん

Y.Mikiです。

ありがとうございました。

EclipseのVersion: 2020-06 (4.16.0)で思った形で抽出することができました。

netbeansのマルチバイトの文字の時の問題と思われます。

Propertiesファイルから「登録済み」をとってきても、ソースに直書きしても同じ結果でした。

netbeansは諦めます。

Y.Miki さん

IDEの問題だったんですね…。解決してよかったです。