レコードのデータをエクスポートしてみよう

目次

はじめに

前回は、cli-kintoneの概要や環境構築について説明しました。
今回からは、実際に手を動かしてcli-kintoneの使い方を紹介していきます。
まずは、コマンドライン上からkintoneのデータをCSVで出力する方法を学びましょう。

準備するもの

はじめに、以下の手順でkintoneにアプリを作成しましょう。
ここで作成したアプリは、今後のチュートリアルの中でも使用します。

  1. アプリストア (External link) にある 顧客リストアプリ (External link) を作成します。

  2. 以下のようにサンプルデータを数件レコードに登録します。

  3. あとで分かりやすくするため、下表のようにフィールドコードを英数字に修正しておきましょう。

    フィールド名 フィールドコード
    会社名 company
    部署名 department
    担当者名 name
    郵便番号 post_code
    TEL tel
    FAX fax
    住所 address
    顧客ランク rank
    メールアドレス mail_address
    会社ロゴ company_logo
    備考 note
    レコード番号 id

STEP 1. APIトークンを発行する

上記で作成したkintoneの顧客リストアプリへアクセスするためのAPIトークンを発行します。
APIトークンの生成方法は APIトークンを生成する (External link) を参照してください。
今回は、レコードのデータを出力することが目的なので、「レコード閲覧」のアクセス権にチェックを入れます。

STEP 2. コマンドライン上に出力する

レコードのデータを出力するには、record exportを指定します。
たとえば、ドメイン名が「sample.cybozu.com」、アプリIDが299だった場合、次のように書きます。
APIトークンは、 STEP 1 で発行したAPIトークンの文字列を入力します。

1
cli-kintone.exe record export --app 299 --base-url https://sample.cybozu.com --api-token APIトークン

上記のコマンド実行時の例です。
以下のようにレコードのデータが出力されていれば、データの取得に成功しています。

1
2
3
4
"company","department","name","post_code","tel","fax","address","rank","mail_address","company_logo","note","record_id","作成者","作成日時","更新者","更新日時"
"戸田ネットソリューションズ","開発本部","川崎 丈史","3200001","092-××××-××××","050-××××-××××","栃木県宇都宮市××××","A","kawasaki_takeshi@example.com",,,"1","sato","2023-07-24T08:01:00Z","sato","2023-07-24T08:01:00Z"
"田端食品","総務部","川越 憲一","3300041","050-××××-××××","050-××××-××××","埼玉県浦和市××××","B","kawagoe_kenichi@example.com",,,"2","sato","2023-07-24T08:01:00Z","sato","2023-07-24T08:01:00Z"
"株式会社中川工業","営業部","戸塚 璃子","4130001","042-××××-××××","050-××××-××××","静岡県熱海市××××","C","toduka_riko@example.com",,,"3","sato","2023-07-24T08:01:00Z","sato","2023-07-24T08:01:00Z"

STEP 3. CSVファイルに出力する

次は、取得したデータをファイルにエクスポートしてみましょう。
たとえば、「export.csv」というファイルにエクスポートする場合、次のように書きます。

1
cli-kintone.exe record export --app 299 --base-url https://sample.cybozu.com --api-token APIトークン > C:\Users\Desktop\export.csv
information

ディレクトリを指定せずにエクスポートすると、cli-kintoneの実行ファイルを置いたディレクトリにファイルが保存されます。

文字コードを指定して保存

デフォルトでは、文字列データはUTF-8でエクスポートされます。
それ以外の文字コードでファイルにエクスポートしたい場合は--encodingオプションを使用します。
Shift-JIS形式でエクスポートする場合、次のように書きます。

1
cli-kintone.exe record export --app 299 --base-url https://sample.cybozu.com --api-token APIトークン --encoding sjis > C:\Users\Desktop\export_sjis.csv

STEP 4. 一部のフィールドのみを出力する

ここまでは、レコードに含まれるすべてのフィールドのデータが出力されていました。
次は、一部のフィールドのデータのみを出力する方法をやってみましょう。

エクスポートするフィールドを指定するには、--fieldsオプションを使います。
--fieldsオプションで指定するのは、フィールド名ではなく、フィールドコードです。
顧客リストアプリから、以下のフィールドのみをエクスポートする場合のコマンド例です。

  • レコード番号(フィールドコード:id)
  • 会社名(フィールドコード:company)
  • 担当者名(フィールドコード:name)
1
cli-kintone.exe record export --app 299 --base-url https://sample.cybozu.com --api-token APIトークン --fields "id,company,name"

STEP 5. 絞り込み条件と並び順を指定する

次は、特定の条件を満たすレコードだけを出力したり、出力時の並び順を指定したりしてみましょう。
絞り込み条件を指定するには、--conditionオプションを使います。
また、並び順を指定するには、--order-byオプションを使います。
顧客リストアプリの部署名が「営業部」のレコードを、レコード番号降順でエクスポートする場合、次のように書きます。

1
cli-kintone.exe record export --app 299 --base-url https://sample.cybozu.com --api-token APIトークン --condition department=\"営業部\" --order-by "id desc"
information

絞込み条件の指定方法は、 cli-kintoneでのクエリの書き方|絞り込み条件 を参考にしてください。
cli-kintoneのクエリの指定では、エスケープが必要です。
たとえば、部署名(フィールドコード:department)が「営業部」のレコードを指定する際は、--condition department=\"営業部\"のように"をエスケープします。

STEP 6. テーブルのデータの出力形式を確認する

最後に、テーブルを含むレコードのデータがどのように出力されるのか確認してみましょう。

動作確認用として、 アプリストア (External link) にある 交通費申請アプリ (External link) を作成します。

以下のように、テーブルに2行以上データを含むレコードを3件ほど登録します。

STEP 1 と同様に交通費申請アプリのAPIトークンを発行し、登録したレコードのデータをエクスポートします。

1
cli-kintone.exe record export --app 300 --base-url https://sample.cybozu.com --api-token APIトークン > C:\Users\Desktop\export_table.csv

エクスポートしたCSVファイルをみてみると、次のようにデータが入っています。
ここでは、3レコード分のデータがエクスポートされています。

見方のポイントは次のとおりです。

  • テーブルを含むレコードの場合、1レコードに対してテーブルの行数分のデータがエクスポートされる。
  • 1列目に*が出力され、*の行から次の*の前の行までが1つのレコードのデータを表す。

つまり、1列目に*がついていない行は、そのレコードのテーブルの2行目以降のデータということになります。
今回の例では、次のテーブルデータが入っています。

  • レコード番号1:3行
  • レコード番号2:2行
  • レコード番号3:3行

おわりに

今回は、cli-kintoneを使って、レコードのデータをエクスポートする方法を学びました。
データをエクスポートする際に使えるその他のオプションについては、 オプション一覧 にまとまっています。

次回は、 データのインポートとレコードの削除 の方法について学びましょう。

information

このTipsは、cli-kintone Ver 1.8.0と2023年8月版kintoneで動作を確認しています。