cli-kintoneのクエリでオプションが反映されない

基幹システムのフロントエンドとしてkintoneを利用しようと考えています。

そのため、入力用に作成したアプリからcli-kintoneにて、目的のレコードをテキスト出力したいのですが、クエリのオプションが反映されず、エラーとなります。

cli-kintone.exe record export ^
	--base-url https://****.cybozu.com ^
	--app * ^
	--api-token **** ^
	--fields "レコード番号,フィールドA,フィールドB" ^
	--condition "order by レコード番号 desc limit 5" ^
	--encoding utf8 ^
	> test01.csv

上記コードで実行すると、

ERROR: [400] [CB_VA01] 入力内容が正しくありません。 (Q2p9ARGDmKxf07jJY4tD)

とエラーが表示され、テキストが出力されません。

ちなみに、–-condirion行を記載しないとテキスト出力されます。

また、下記コードのように、クエリに関数を設定して、ソートをクエリの外で指定するとテキストが出力されます。

cli-kintone.exe record export ^
	--base-url https://****.cybozu.com ^
	--app * ^
	--api-token **** ^
	--fields "レコード番号,フィールドA,フィールドB" ^
	--order-by "レコード番号 desc" ^
	--condition "作成日時 = TODAY()" ^
	--encoding utf8 ^
	> test01.csv

実際には、当日分だけではなく、ここ3日間くらいのレコードを取り出したいのですが、指定の方法が思いつきません。(今週分に設定すると月曜に前週の分が出力されない)

そこで、最新のレコード5件分を指定したいのですが、上記のようにうまく行きません。

お詳しい方にご教示頂けますと助かります。

よろしくお願いいたします。

このエラーについては、 cli-kintone の record export コマンドの --condition オプションが コマンドガイド に記載がある通り、

--conditionおよび--order-byオプションを使用してレコードをフィルタリングおよび並べ替えることができます。

これらのオプションは、@kintone/rest-api-clientgetAllRecords()に渡されます。

という実装になっていて、 getAllRecords() については ドキュメント を見ると

order by , limit , and offset can not be used in the query.

と記載されています。

つまり --condition には order by, limit, offset は使えないということです。


FROM_TODAY()関数 を使えば、実行した日付から起算して 3日前 といったクエリが書けると思います。

「いいね!」 1

cli-kintoneのクエリ内では使えないオプションだったのですね。

クエリの書き方を辿っていって、kintone-APIでのオプションを参照してしまっていたようです。

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

「いいね!」 1

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。