コマンドラインツールとは、簡単にコマンドライン上からkintoneにデータのインポート・エクスポートをできるようにしたツールのことです。コマンドラインツール」では、以下のような方向けに、基本的な操作方法や活用方法をご紹介していきます。通常のExcel/CSVのデータ入出力ではできないことも、こちらのコマンドラインツールを使えばできる!なんてこともあったりします。初回は、まず「環境設定」と「レコードデータの取得」というテーマでお届けします。環境の準備kintoneのコマンドラインツールを利用するにあたり、まずは下準備です。Xの3種類での動作を確認しています。本シリーズでは、Windowsの利用を想定して記事を書いています。コマンドラインツールのダウンロードと基本的な使い方については以下でご紹介していますので、ご参照ください。※コマンドラインツールは、動作を保証するものではありません。ライセンスに従ってご利用可能です。コマンドラインツール(β)の動作OSやダウンロード用のツールについてはこちらに記載があるので、まずはそちらを確認します。(Github)からダウンロードできます。Xと3種類の実行ファイルが用意されています。Filesなど任意のフォルダに置いてください。windows-x64.zipを使っています。本記事ではShift-JIS形式のCSVを作成して取得や更新や登録処理を行っていきます。Shift-JIS形式で保存できるテキストエディタもご準備ください。キー」+「Rキー」で下の「ファイル名を指定して実行」画面を立ち上げて、名前欄に「cmd」と入力します。OKをクリックするとコマンドプロンプトが立ち上がります。(Macの場合は、ターミナルというアプリケーションを起動します。コマンドラインツールを実行するcdコマンドで、cli-kintone.exeを置いたディレクトリに移動します。※ディレクトリはフォルダーと同義です。以下ディレクトリと表記します。入力すると、指定したディレクトリに移動してくれます。Directoryと英語に変換するとイメージつきやすいですね!他にもこの先知らないコマンドが出てくるかもしれないですが、そんなときは検索して調べてみてください。次に引数を何も指定せずに実行すると、コマンドラインツールで利用可能なオプションが表示されます。kintoneからデータをエクスポートする場合に指定します。データは標準出力にエクスポート(コンソールに表示)されます。kintoneにデータをインポートする場合に指定します。データは標準入力からインポートされます。オプションも指定されている場合、対象ファイルからデータがインポートされます。ドメイン名(必須)cybozu.comは省略可能です。利用することも出来ます。ゲストスペース内アプリの場合、ゲストスペースのIDを指定します。'json'もしくは'csv'が指定できます。デフォルトは'csv'です。エンコーディング方式。デフォルトはUTF-8です。Shift-JISでインポート・エクスポートする場合は'sjis'を指定します。条件式の書き方はこちらを参照してください。APIを利用して処理が実行されます。エクスポートするフィールドコードをカンマ区切りで指定できます。データインポート時、インポートするファイル名を指定します。添付ファイルのダウンロード先、アップロード元ディレクトリを指定します。データをファイルからインポートする場合に、インポート開始行を指定します。このオプションを指定すると、データのインポートは指定した行から開始されます。インポート時にこのオプションを指定すると、既存のレコードをすべて削除してからデータをインポートします。この後、上記のオプションを利用して各種操作をしていきます。※コマンドラインツールを利用する際は、常に最新版であることを確認してお使いください。※セキュアアクセス環境には対応していません。データの取得この後のシリーズでは、データの追加/削除/更新などの処理についてもご紹介しますが、まず第1回事始めとして「データの取得」を試してみたいと思います。その前にデータを取得するアプリをご用意ください。ここではアプリストアにある顧客リストアプリを利用します。デモデータも数件入れておきます。後々分かりやすいようにフィールドコードも英数に修正しておきましょう。アプリの準備ができたら、上述のオプションを利用してデータの取得を行います。パターンがいくつかあるので、順にご紹介していきます。ユーザー名/パスワードでkintoneのデータを表示するドメイン名がsample.cybozu.com、アプリIDが777、ログイン名がmynameの場合の例です。mynameユーザーのパスワードを入力すると、以下のようにCSV形式ですべてのフィールドのデータがエクスポートされます。※セキュリティ保護のため、パスワードを入力してもコマンドライン上には何も見えないようになっています。※kintone.comやcybozu.cnのドメインを指定する場合は、sampleだけでなく、sample.kintone.com/sample.cybozu.cnのようにFQDNを指定するようにしてください。1行目にはフィールド名ではなく、フィールドコードがエクスポートされます。jsonを指定します。他のサービスにデータを受け渡したい時などは、JSON形式のデータを利用するケースが多いです。※途中で処理を中断したい場合は、CTRL+Cを押してください。APIトークンを利用してkintoneのデータを表示するAPIトークンを利用すると、パスワードを入力しなくてもデータをインポート・エクスポートすることができます。APIトークンを使うメリットは・・・ユーザー認証が必要ない限られたアプリのみ操作できる実行できる操作を制限することができるなどが挙げられます。APIトークンの生成方法はこちらをご参照ください。実行したい操作に合わせて、APIトークンの権限を設定していただく形になります。※APIトークン認証を使った場合は、全てAdministratorが実行した操作として判断されます。Shift-JISでCSVファイルにエクスポートするデータをコマンドライン上で表示するだけでなく、次はファイルにエクスポートしてみます。諸事情(*後述)によりここではAPIトークンを利用しています。kintoneではデフォルトでUTF-8で文字列データがエクスポートされるので、それ以外の文字コードでエクスポートしたい場合は-eオプションを利用します。ここではsample.csvというファイルにShift-JIS形式でエクスポートします。※エクスポート先のディレクトリを指定せずにCSVにエクスポートすると、コマンドラインツールの実行ファイルを置いたディレクトリに保存されます。Cドライブ直下などに実行ファイルを置いているとシステム管理権限の影響で「アクセス拒否されました」とエラーが出る可能性があります。その場合は、必ずエクスポート先のディレクトリのパスを指定してください。▼ディレクトリを指定して保存(ここではデスクトップに保存)*ユーザー認証でデータをCSVにエクスポートしようとすると、パスワード要求がされず「あれれ?」となると思います。要求はされないもののコマンド上でパスワード入力すると、データとともに「Password」という文字列がCSVにエクスポートされます。そもそもの説明をすると、「コマンド>ファイルのパス」という書き方をファイルのリダイレクトと言うのですが、これはコマンドラインへの出力内容をファイルにエクスポートするという処理になります。データとともにPasswordという文字列もエクスポートされるのです。オプションでパスワード指定してエクスポートするようにしてください。エクスポートするフィールドを指定するさらに-cオプションを使うと、エクスポートするフィールドを指定することができるので、やってみます。ここでは$idと会社名と担当者名のみエクスポートします。"書き出したいフィールドコード"」になります。※フィールド名ではなく、フィールドコードで指定します。絞り込み条件と並び順を指定する-qオプションを使うことで、絞り込み条件と並び順を指定できます。条件式の書き方はこちらを参照してください。ここでは、部署名が「営業部」のレコードの$idと会社名と担当者名と部署名を、レコード番号降順でエクスポートします。テーブルのデータはどのような形式で表示されるのか確認する最後にテーブル付きのレコードデータはどのように表示されるのか見てみます。慣れれば大丈夫ですが、少し見方がややこしいので要注意です。ここでは以下の交通費申請アプリを利用しています。3件ほどデータを登録してコマンドラインツールで表示してみます。CSVファイルのエクスポート結果は以下になります。CSVでどのフィールドがどこに対応しているのか見にくい場合は、Excelファイルで開いて見てください。ここから見方の解説です。書き出したCSVの1行目には1列目に"*"マークが出力され、その後フィールドコード名が並びます。2行目以降で"*"マークがついていない行は、テーブル内の2行目以降のデータになります。上記のCSVデータの場合、3レコードがエクスポートされています。レコード番号1番のテーブル内に4行分、レコード番号2番のテーブル内に3行分のデータが入っているため、CSVでもそれぞれその行数分のデータがエクスポートされています。実際に登録しているデータは以下になります。考えるときの参考にしてみてください。テーブルの読み込みについてはまた後の回で詳しく解説していきます。第1回、無事最後まで完走できましたでしょうか?今回はここら辺で!次回はデータの追加と削除をやっていきます。0.9.0(2018年1月公開)以降、推奨されません。オプションもあわせて指定する実行方法を推奨します。xxxxx現状は、従来の実行方法でも動作します。コミュニティをご活用ください。09:11コマンドラインツールを商用利用したいと考えております。v2となっております。お客様の個々の状況の場合についてご不明な点がありましたら、外部サイトですがこちらのFAQが参考になるかと思います。ご不明な点がありましたらご連絡ください。02:35ご回答頂きありがとうございました。上記内容について、承知致しました。01:05上記に※コマンドラインツールは、動作を保証するものではありません。07:54小山剛司さんご質問いただきありがとうございます。network運営チームです。現在運用環境での動作保証はしておりませんが、何か不具合があった場合はご連絡ください。対応検討をさせていただきます。07:39いつも大変お世話になっております。エクスポートについてお聞きしたいことがあります。前に0がついている数値をCSVファイルに書き出したいのですが上手く行きません。エクセルの表示の仕方が原因だと分かりましたが、コマンドラインツール内で表示形式を変える事は出来ますか?(0の数値があった場合、前にシングルコーテーションが入る等)回答のほどよろしくお願いします。01:52風早様CSV出力後エクセルで開いたら、頭のゼロが消えてしまった、ということでしょうか。こちらの回答が参考になるかもしれません。回答ありがとうございます。リンクの先を見させてもらいました。私がやりたい事はその事であっているのですが、どうしてもひと手間掛かってしまうのでそれを無くしたいです。07:27風早様コマンドラインツールでは、一般的なCSV形式での出力のみ対応しております。そのため、エクセルの表示仕様を考慮した形のエクスポート機能(数値の前にシングルコーテーションを入れる等)はございません。回答ありがとうございました。下記3点についてご教授願います。1.「-c」で抽出したいフィールドを指定しているのですが上限値はありますでしょうか。2.上記説明のSTEP3は「エクスポートするフィールド名をカンマ区切りで指定できます。"書き出したいフィールドコード"」となっています。指定はフィールドコードで間違いないでしょうか。3.「-c」でフィールドコードを任意で指定してエクスポートをしているのですが、一部のフィールドしか取得できません。全フィールドが取得できない理由などなにか考えられるものはありますでしょうか。「-c」の指定をしなければ全フィールドのデータを取得できています。08:46SIONさんご質問ありがとうございます。回答させていただきます。上限値は1000フィールドになります。レコード取得APIの制限により-cオプションでの指定はフィールドコード名になります。表記ズレがある部分は順次修正対応させていただきます。ご指摘ありがとうございました。フィールドによってエクスポートできないものもあります。以下の制限事項をご確認ください。それ以外で取得できないフィールドがありましたらお知らせください。制限事項などは、こちらに記載していますので、ご参照ください。04:57質問させて頂きます。CSVでのエクスポートを試してみたのですが、カラムの内容が一部のレコードだけ前詰めされます。前詰めされるレコードに値が入っていても前詰めされます。カラム指定をした場合としない場合と両方試しましたが変わりません。画面から「ファイルに書き出す」を行った場合は発生しません起きている現象は下記のようなイメージです。01:35kintone_user70630様こちらの現象は再現できなかったため、お手数ですが詳細の情報をいただけますでしょうか。必要に応じて情報にマスクしていただいて結構ですので、可能な限りでお願いいたします。OS手順(コマンド内容含む)エクスポート結果のスクリーンショット他の端末でも同じ現象が起きるか(可能であれば)他のアプリでも同じ現象が起きるか(可能であれば)よろしくお願いいたします。team様、現在コマンドラインツールを使って色々動作の確認を行っております。様お世話になっております。項目の順序を担保できるかと思います。必要に応じて情報にマスクしていただいて結構ですので、可能な限りでお願いいたします。2台目:Windows7手順(コマンド内容含む)手順といっても下記内容のみです。unspecified.csvエクスポート結果のスクリーンショット他の端末でも同じ現象が起きるか(可能であれば)Windows10と7の2台で試しましたが、結果は同じでした。他のアプリでも同じ現象が起きるか(可能であれば)別のアプリだと発生しませんでした。★前付めされるデータと正常データをテキストで比較して見ると、ダブルクォーテーションの位置が定まっていませんでした。データの問題なのでしょうが、なぜ発生するのか思い当たることがなく困っています。確認すべき事項があればご教授頂けますと幸いです。情報をありがとうございます。他のアプリでは発生しないということで、アプリのデータに原因があると思われます。以下の点もご確認いただけますでしょうか。03:06初歩的な質問で失礼します。foundとなってしまいます。ご教示いただいてもよろしいでしょうか。様お世話になっております。ご利用の方は、ダウンロード頂いた「cli-kintone」へパスを通していただく必要があります。コマンドが実行可能になります。以上、よろしくお願い致します。運営局様お返事ありがとうございます。パスを通すことで、無事に実行可能になりました。パスを通すやり方は、以下のページを参考にしました。https://qiita.com/nbkn/items/01a11392921119fa0153取り急ぎ、お礼申し上げます。Permalinkログインしてコメントを残してください。