Googleスプレッドシートから更にファストにkintoneアプリを作る

# Google Spread Sheetからのkintoneアプリ作成

[2019/9/12追記] コピー元のシートの修正（フィールド情報と設定情報のシート分離）、若干のコードのリファクタリングを行いました（キャプチャの修正が追いついていないため、キャプチャと実際のシートが異なりますm(__)m）。

記念すべき[kintone Advent Calendar 2015](http://qiita.com/advent-calendar/2015/kintone)の初日ですので、実践的な内容をお届けしたいと思います。

「[kintone devCamp Vol.5](http://kintone-blog.cybozu.co.jp/000141.html)」や「[kintone hive VOL.2](https://kintone.cybozu.com/jp/event/hive2015/10/report/)」等でデモさせてもらっていましたGoolge Spread Sheetに記入したアプリの設計情報からアプリを作るというものです！



## Excelからのkintoneアプリ作成のあるある
Excelに限った話ではなく、項目数が多いアプリ作成時にはこういった課題が出ます。

- 元になる情報がExcelで既にあるけど、「Excel/CSVから作成」では**50項目が限界**で、**フィールド形式の設定も面倒**だったりする
- そもそもアプリの設計書がExcelでまとめられている（顧客/ユーザーがそういったものを既に準備している）
- ドラッグアンドドロップで作るには項目数が多過ぎて手がつりそうになる。また、「Excel/CSVから作成」から試みるにしてもやはり**50項目が限界**で、**フィールド形式の設定も面倒**だったりする

## Google Spread Sheetから作成するメリット
- 手前の理由としては、ExcelのVBAよりGoogle Apps Scriptの方が開発（メンテナンス）しやすい
- 上の「あるある」を克服できる
- Excelと同様の操作感で、**フィールド形式をコピーで一気に設定したり、フィールドの項目名と同時にフィールドコードが設定**できたりする
- 度重なるフィールド項目の修正で絞り込みでの表示順等がゴチャゴチャになった際に、比較的容易にアプリを作り直せる

# 「kintoneアプリ作成シート」の使い方
1. [公開リンク（コピー用）](https://docs.google.com/spreadsheets/d/1TYEnk7ZPPs7V4wclmg2vSnwbhOv74Rn9rdKwrjneTjc/copy)をクリック


2. 「Make a copy」をクリック（Googleアカウントのログインを経由することがあります）
![スクリーンショット_2015-12-01_13_08_16.png](https://qiita-image-store.s3.amazonaws.com/0/43383/9eb6fb08-d1d4-b5dc-6b49-0ae4a01f4f08.png)


3. 「kintoneアプリ作成シート」がコピーされる
![スクリーンショット_2015-12-01_13_11_57.png](https://qiita-image-store.s3.amazonaws.com/0/43383/158bdb29-cf6f-a40a-cb4d-5bfb1471198e.png)


4. 認証情報を入力
![認証情報.png](https://qiita-image-store.s3.amazonaws.com/0/43383/8d156b02-d34f-0158-415d-c79eb22a81ce.png)


5. アプリを作成するスペース情報を入力
![スペース情報.png](https://qiita-image-store.s3.amazonaws.com/0/43383/1467d531-a51b-18bb-136c-a6c919b36396.png)


6. アプリ情報を入力
![アプリ情報.png](https://qiita-image-store.s3.amazonaws.com/0/43383/4f44474b-76e4-f78b-bc53-40580b1d424b.png)


7. フィールド設計情報を入力（**フィールド数は現在500が上限**）
![Failed to upload "アプリ設計情報.jpg": the image size Monthly limit exceeded: Publishing to Qiita expands your monthly capacity](https://s3.amazonaws.com/qiita-yamashita/+%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%88%E3%82%99%E8%A8%AD%E8%A8%88%E6%83%85%E5%A0%B1.png)



8. アプリ作成に必要な情報を入力したら、「アプリ作成/更新」ボタンをクリック（認証を聞いてくることがありますが、「OK」で進めてください）
![Failed to upload "アプリ作成ボタン.png": the image size Monthly limit exceeded: Publishing to Qiita expands your monthly capacity](https://s3.amazonaws.com/qiita-yamashita/%E3%82%A2%E3%83%95%E3%82%9A%E3%83%AA%E4%BD%9C%E6%88%90%E3%83%9B%E3%82%99%E3%82%BF%E3%83%B3.png)


9. 確認ダイアログでOKをクリック
![](https://s3.amazonaws.com/qiita-yamashita/%E3%82%A2%E3%83%95%E3%82%9A%E3%83%AA%E4%BD%9C%E6%88%90%E7%A2%BA%E8%AA%8D.png)

10. アプリが出来上がると、再度ダイアログを表示（アプリIDを表示）
![](https://s3.amazonaws.com/qiita-yamashita/%E3%82%A2%E3%83%95%E3%82%9A%E3%83%AA%E4%BD%9C%E6%88%90%E5%BE%8C%E7%A2%BA%E8%AA%8D.png)

11. 作成されたアプリを確認
![](https://s3.amazonaws.com/qiita-yamashita/%E3%82%A2%E3%83%95%E3%82%9A%E3%83%AA%E7%94%BB%E9%9D%A2.png)

## kintone REST API
kintoneには、その3大要素である「データ」「プロセス管理」「コミュニケーション」をコントロールする[kintone REST API](https://cybozudev.zendesk.com/hc/ja/categories/200147600)がそれぞれありますが、今回はkintoneアプリを作成する[デプロイ系API](https://cybozudev.zendesk.com/hc/ja/articles/204693590)をGoogle Apps Scriptで記述しています。中身が気になる方は、シートを[コピー](https://docs.google.com/spreadsheets/d/1TYEnk7ZPPs7V4wclmg2vSnwbhOv74Rn9rdKwrjneTjc/copy)して、スクリプトエディタでチェック頂ければと思います。

# まとめ
やはり、アプリの設計が決まっていて、フィールド名やフィールドコードを連番で設定したい、フィールド形式も一気に設定したいというと時には、ドラッグアンドドロップより効率的にアプリ作成ができます。従来のファストを更に加速したひとつの形だと思います。ぜひお試しいただければと思います！

（宣伝ですが、）Qiitaも初めての利用でGoogle Spread Sheetのコピー公開方法やQitaの利用（画像容量制限）にはまりましたが、普段は[kintoneを便利に使う方法を紹介するブログ（ジョイゾー）](https://www.joyzo.co.jp/blog/)に登場することが多いので、こちらも合わせてご覧いただければと思います。

## 免責事項
まだコードも粗めのままです。ご利用は自己責任でお願い致します。