【kintone】はじめてのCSVデータを揃えるタスクスケジューラー

# はじめに
この記事は、はじめてcli-kintoneを利用して、特定のフォルダへCSVファイルを作成する、Windowsユーザーへ向けた記事です。

この記事で目指す内容は以下です。
- 毎時、kintoneの最新データがCSVへダウンロードされる

この記事は以下の解説をします
- kintoneのアプリからデータを取得するbatファイルを書く
- batファイルをタスクスケジューラーに登録する
- タスクスケジューラーを試験する

この記事で解説する手順を実行すれば、Windows上でkintoneのデータを自動的にCSVとして取得できるようになります。

それでははじめましょう。

## kintoneのアプリからデータを取得するbatファイルを書こう
batファイルはコマンドプロンプト(cmd.exe)で実行されるファイルです。
cli-kintoneはkintoneからデータを取得するプログラムで、batファイルから呼び出すことができます。

### ファイルを作る
まず、適当なフォルダを作って、ファイルを作成します。テキストファイルで大丈夫です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/50aba6ad-4c2b-f4ca-d547-3fa9594305e1.png)

できたら、名前をつけます。"get-kintone.bat"としましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/d29cb92d-d239-c00a-c365-852888ed32bd.png)

### cli-kintoneを手に入れよう

https://github.com/kintone/cli-kintone/releases

👆のURLへアクセスします。

![スクリーンショット 2025-02-07 155509.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/8215a984-a8ff-dcbd-6bd9-d8f47f4c8223.png)
こんな感じのページになると思います。
そこで、末尾が __"win.zip"__ となっている、ファイルをダウンロードします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/504837ed-6223-92b6-da27-0a3bf88a41ed.png)

ダウンロードしたファイルを開くと、"cli-kintone.exe"というファイルがありますね。

これをコピーします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/962b129f-d052-28dd-3fc7-86830c3e3277.png)

先ほど作ったフォルダに貼り付けます。

これで、get-kintone.batとcli-kitnone.exeが並んでいるフォルダができました。


### kintoneの設定を取得しよう
kintoneで、CSVに出力したいアプリへ行きます。
アプリへ行ったら、URLの下記の部分を拾います。

![スクリーンショット 2025-02-07 161649.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/370619df-426c-d969-21e8-186e418bb33f.png)

280ですね。
これは、__アプリID__ という数値です。アプリIDはよく使うので、覚えておいてください。

次に、URLの下記の部分を拾います。

![スクリーンショット 2025-02-07 162646.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/99c0f158-acc2-480a-35b3-289ec36d479e.png)



xxxxx.cybozu.comですね。
これは、__ドメイン__ という値です。ドメインもよく使うので、覚えておいてください。


そうしたら、歯車マーク⚙から、設定画面を開きます。

![スクリーンショット 2025-02-07 161921.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/65af8072-bf5f-7051-389c-4f25f8bd2734.png)

設定＞APIトークン

![スクリーンショット 2025-02-07 162038.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/bdacc5ce-eb4b-770f-5953-d75708166cfe.png)

アクセス権をつけてあげます。（閲覧にチェックが入っていれば大丈夫。）

できたら、APIトークンの文字列を拾います。

ここまでで、取得できている値は以下の通りです。
- アプリID
- ドメイン
- APIトークン



### get-kintone.batを編集してみよう
先ほど作ったget-kintone.batファイルに戻りましょう。
これを、テキストエディタで開きます。メモ帳でオーケーです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/f3c86578-1054-4b1e-6474-4bf97c19552f.png)

できたら、上記のようになるように記述します。

以下をコピーペーストでもOK
```batch
cli-kintone.exe record export --base-url https://[example.cybozu.com] --app [アプリID] --api-token [トークン] >タイムカードデータ.csv
pause
```

">タイムカードデータ.csv"とありますが、">[ファイル名]"で、コマンドが実行された結果(標準出力)をファイル名のファイルに書き出すことを表しています。

ファイル名の部分は、出力したいフォルダと合わせて書くことができますが、今回は同じ場所に出力させるので、そのままファイル名を書いています。

pause　は、実行を途中で止める命令です。

で、この文字列の、[example.cybozu.com], [アプリID], [トークン]を書き換えます。

[example.cybozu.com]をドメインに書き換える
[アプリID]をアプリIDに書き換える
[トークン]をAPIトークンに書き換える

例えば、こんな感じです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/e7e708fc-2802-d80e-e987-cdf3c45688c0.png)

書き換えたら、保存します。この時、__「名前をつけて保存」を選んでください__ 。

![スクリーンショット 2025-02-07 163331.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/655ea787-4928-66d5-b9c7-24c15f306f05.png)

👆図の部分が、デフォルトでは"utf-8"になっているはずです。これを"ANSI"に変えてあげてください。


### get-kintone.batを実行してみよう
get-kintone.batを __ダブルクリック__ してみましょう。

黒い画面が出て、止まったら、画面を消すと、ファイルができているはずです。
![スクリーンショット 2025-02-07 163619.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/064fd801-62c8-2304-51ce-7c1de418d71a.png)

これで、kintoneからCSVを取得することができるようになりました。

このCSVファイルを、普通のExcelファイルで開くと、文字化けしてしまいます。
きれいなデータとして開きたい場合は、以下のようにします。

![スクリーンショット 2025-02-07 163824.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/1eb7fc48-e05d-2112-8657-3de72982b279.png)

Excelを空の状態で開いて、
データ＞データの取得～ファイルから＞テキストまたはCSV

ここでファイルを選んであげると、Excelにきれいにロードされます。

### pauseを除去しよう
ここまで上手に動くようになったら、pauseの文を除去します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/a0ac04dd-c1c7-a738-31d7-0fe3b6e6a321.png)


これでもう一度動かしてみてください。
黒い画面が一瞬出て、すぐに消えるようになりましたね。


## タスクスケジューラへ登録しよう
まずはタスクスケジューラーを見つけましょう。
Windowsの左下にある検索窓を開いて、"タスク"などのキーワードで検索します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/a4428f4c-0a92-6238-b84d-198c60f3e81d.png)

いますね。タスクスケジューラを開きます。
![スクリーンショット 2025-02-07 164959.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/e4b9891e-2cc2-c0b1-7ee3-aa3a25bd8691.png)

基本タスクの作成から、作成画面を開きます。
名前を入れましょう。好きな名前で構いません。

次へを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/fa106296-f01b-8ed0-a2f4-76fd0d587fe4.png)
毎日

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/4f41e6ab-7727-2fd5-830f-55b926085f53.png)
ここは何も変えない

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/b7f37368-5412-d592-a8a5-25302811132d.png)
プログラムの開始を選ぶ

![スクリーンショット 2025-02-07 165802.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/2cacd90c-9b70-8c05-c97a-0a37ecce6fec.png)

この画面で、get-kintone.batファイルを選んでおきます。
まだ、【開く】を押さないで。図の〇のあたりをクリックします。

![スクリーンショット 2025-02-07 165802.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/5a05f51a-4db8-a9c4-b6ae-24cc478d90c8.png)
![スクリーンショット 2025-02-07 165712.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/6c0a00e1-f5c5-65cf-37be-ea510b36cd74.png)

こうなるので、右クリックをして、__フォルダのパスをコピー__ しておきます。

コピーしたら、【開く】を押す。
![スクリーンショット 2025-02-07 180026.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/14fc0a7a-af7a-8f00-551e-813a3d1073bf.png)

開くを押すと、プログラム(get-kintone.bat)が登録されましたね。
👆の開始（オプション）のところに __コピーしたフォルダのパス__ を設置します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/93e0cef3-c622-e817-cdbe-9cc67352fcdd.png)

こうなる。そうしたら、【次へ＞完了】で保存します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/c0e6113d-1ef2-5090-d34b-c81477ddcb88.png)

get-kintoneが作成されました。

## 作成したタスクの設定を変更しよう
作成したタスクの、設定を変更することができます。
タスクを __右クリック＞プロパティ__ を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/03551884-27b1-6106-b9b1-08c29c345d62.png)

トリガー＞編集
![スクリーンショット 2025-02-07 180714.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/32b69a31-57cf-fd58-43f6-4b63f395376a.png)

![スクリーンショット 2025-02-07 180831.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/6f66d1f4-249b-edca-3615-d48291ac7335.png)

「1時間ごとに1日間、get-kintone.batを実行するタスク」を0時に開始して、1日間隔で繰り返します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/bf46c6b9-5b89-672d-1955-04c2c6af96f9.png)

👆のようになります。

これで設定は完了です。

## タスクを実行してみよう
このまま0時まで待てば実行されますが、実際に試してみましょう。

タスクを右クリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/71adaad1-a54c-8edd-c26d-5d49ec7c4617.png)

👆で「実行する」をクリック。


クリックすると、何も起きません。

そこで、少し待って、F5ボタンを押下すると、画面が更新されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3712902/469e07d2-eb68-d017-1c7d-e2a94dd2f636.png)

「この操作を正しく終了しました」と出ていればOKです。

もし実行が終わらない場合、pause文を消し忘れています。確認してみてください。

# まとめ
- cli-kintone(くりきんとん)のダウンロードのしかた
- batファイル（バッチファイル）を利用したcli-kintoneの呼び出し方
- タスクスケジューラーへのタスク登録
- タスクスケジューラーへ登録されたタスクの変更と実行

以上の手順を解説しました。

参考にしたリンクは以下です。

https://cybozu.dev/ja/kintone/sdk/backup/cli-kintone/

できるようになりましたら、こちら記事も大変参考になります。

https://cybozu.dev/ja/kintone/tips/best-practices/data-acquisition-operation/cli-kintone-use-cases/

https://cybozu.dev/ja/kintone/tips/development/customize/operations-and-migration/periodic-data-sync-smart-method-cli-kintone-part1/

---
この記事は以上です。ありがとうございました。

https://www.pulsar-works.jp/

kintoneのプラグイン開発や研修などを行っています。
お仕事のお話はこちらまで。