kintoneコマンドラインツールについて教えを請いたく。
kintone コマンドラインツールの使い方
https://cybozudev.zendesk.com/hc/ja/articles/202957070-kintone-コマンドラインツールの使い方
kintoneコマンドラインツールでサブテーブルを操作してみた
http://qiita.com/ushiron/items/f7f66632710b9b0834c5
上記で紹介されているkintoneコマンドラインツールで、サブテーブルを含むレコードの"更新"をかけようとしているのですが、うまくいきません。
発行しているコマンド
cli-kintone.exe -a 9999 -d domainname -u userid -p password -f inport.csv
<失敗CSV-1>
*,"$id","dno","detail1","detail2"
*,"2","testb","line1","line1"
,"2","testb","line2","line2"
[GAIA_RE09]レコード(id:2)の指定が重複しています。
<失敗CSV-2>
*,"$id","dno","detail1","detail2"
*,"2","testb","line1","line1"
,"","testb","line2","line2"
導入は成功しますが、(id:2)のレコードが1行目の値で更新されて、2行目の値を持つ新レコードが別で新たに生成されます。
どなたか、コマンドラインツールで、サブテーブルの更新のかけかたをご存知でしたら、教えて頂けると助かります。
8件のコメント
松村さん
たぶん、csv ファイルのエンコードの問題だと思われます。
内容は、<失敗CSV-1>のファイルで問題ないと思います。
BOM無しの UTF-8 形式または、Shift-JIS形式で -e sjis オプション指定で行けると思います。
rex0220さん
ありがとうございます。うまくいきました。大変助かりました!
BOMなしのUTF-8で行けました。何かの拍子にBOMがついてしまっていた様です。
以下、覚えを兼ねて
<clikintoneでサブテーブル更新時、形式は失敗CSV-1 でOK>
*,"$id","dno","detail1","detail2"
*,"2","testb","line1","line1"
,"2","testb","line2","line2"
<UTF-8の場合のBOM有無>
BOM無し・・・成功した
BOM有り・・・[GAIA_RE09]レコード(id:2)の指定が重複しています。のエラーが出た。
ありがとうございました。
松村さん
補足ですが、kintoneコマンドラインツールでサブテーブルを指定した場合、更新ではなく、サブテーブルの全行削除・全行追加となります。
違いは、履歴を見るとわかります。
サブテーブルの更新処理は、サブテーブルの行ごとのid対応で可能なので、ツールのバージョンアップに期待です。
rex0220さん
ありがとうございます。全行削除&全行追加なので、使い方は気を付けないといけませんね。
ところで、APIによる、サブテーブルの行のID指定による個別更新、できるようになってたんですね。。
知りませんでした。
APIの場合も、サブテーブルの全行分のデータが必要ですが、行idを指定すると該当行の更新になります。
行id無しは追加行になり、削除したい行は指定しないだけです。
rex0220さん
cli-kintoneを使っていただいてありがとうございます。
ちょっとお聞きしたいのですが、cli-kintoneでサブテーブルを行単位で更新できるようになると、
履歴に全行分の更新履歴が残ること以外になにかうれしいことはありますでしょうか?
ちょっと今後のアップデートの参考にさせていただきたいと思いまして。
門屋さん
cli-kintone で大変お世話になっています。
メリットとしては、下記ですね。
・行位置を変えられる
・サブテーブル内の添付ファイルが消えない
アップデート時にご検討いただければ幸いです。
rex0220さん
なるほど! ありがとうございます。参考になります。