kintone ノーコード開発体験ハンズオン

# kintone ノーコード開発体験ハンズオン教材について
この内容は大学から講義のご依頼をいただきました、ノーコード開発のハンズオン教材になります。
最近は大学などでノーコード開発の講義や、ハンズオンの依頼が多なり、この教材は今後も最新の状況に更新しながら利用できるように作成しました。この教材を大学のハンズオン講義で体験するだけでなく、後の復習教材や個人の自習教材、そして kintone cafe などのコミュニティ活動で活用できないかと考えたところ、複業先である [株式会社ダンクソフト](https://www.dunksoft.com/) さんのご厚意で公開利用できることになりました。

環境構築用のデータなども利用できるようにしていますので、皆様のハンズオン教材としてご活用いただければ幸いです。
![kin000.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/397d608e-fc2f-8405-9694-7d7a7fe4199a.png)
以下の目次で「2.kintoneの基本」～「7.プラグインを試してみる（初・中級）」までが kintone のノーコード開発のハンズオンになります。
「8.Webhook で Gmail に通知してみる（中級）」以降はステップアップ教材として kintone のノーコード開発に加えて JavaScript プログラム開発をプラスすることで、利用の幅を広げるだめの外部コンテンツを紹介しています。可能な方は是非挑戦してみてください！

--------------------------------------------

# kintone ノーコード開発体験ハンズオン（初級編）

## 1.事前準備
事前にご準備いただく内容についてご紹介しますが、普段利用する環境がある場合はそちらをご利用ください。
### 1.1.講義やコミュニティのハンズオンに参加した場合
kintone の環境は準備されていいると思いますので、そちらをご利用ください。
その他では、以下をご準備ください。
**・ブラウザが利用できるPC**（タブレットではできない内容も含まれるため、PCを推奨）
**・可能ならEXCELか、EXCEL形式のファイルを表示、編集できるソフト**
**・「8.Webhook で Gmail に通知してみる（中級）」以降のハンズオンを行う場合は、テキストエディタや開発ツールなど**（例：[サクラエディタ](https://sakura-editor.github.io/)）

### 1.2.自分で試してみる場合
上記の「講義やコミュニティで参加した場合」に加えて、以下の kintone の環境を準備する必要があります。
**・kintone の試用環境か、開発者ライセンス環境（開発利用のみ可能）**
　kintone 30日間無料試用のお試し申込み　https://kintone.cybozu.co.jp/trial/
　kintone 開発者ライセンス（開発環境）https://developer.cybozu.io/hc/ja/articles/200720464

### 1.3.わからないことは？
kintone の情報はネットで検索できますが、特に以下は参考になります。
**kintone ヘルプ**　https://jp.cybozu.help/k/ja/
**kintone資料・動画**　https://kintone.cybozu.co.jp/material/

### 1.4.kintone のハンズオン環境を準備（ハンズオン主催者）
kintone の試用環境にハンズオンを準備するのに大変なのは、ユーザIDを人数分用意することです。10人を超えると手動で登録するのは大変ですので、以下を参考にユーザを一括登録すると良いでしょう。

**ユーザーを一括で登録、編集する**
https://jp.cybozu.help/general/ja/admin/list_useradmin/list_csv/user.html

一括登録用のCSVテンプレートファイルを以下に置いています。pawwsord 等を適宜変更してご活用ください。

https://drive.google.com/file/d/1-rMkQaMfZ7otMJ4Ni6xwqdjmBdRExGXj/view?usp=sharing

さらに、予め 5～10 アカウントが所属する kintone の「スペース」を作っておくと良いでしょう。

--------------------------------------------

## 2.kintoneの基本

### 2.1.用語の解説
kintone の用語については以下を参照ください。

**kintone用語集**
https://jp.cybozu.help/k/ja/glossary.html

以下の用語は事前に確認しておくと良いでしょう。

|用語|解説ページ|
|:---|:---|
|アプリ|https://jp.cybozu.help/k/ja/glossary/app.html|
|スペース|https://jp.cybozu.help/k/ja/glossary/space.html|
|スレッド|https://jp.cybozu.help/k/ja/glossary/thread.html|
|レコード|https://jp.cybozu.help/k/ja/glossary/records.html|
|フィールド|https://jp.cybozu.help/k/ja/glossary/field.html|
|テーブル|https://jp.cybozu.help/k/ja/glossary/table.html|
|プラグイン|https://jp.cybozu.help/k/ja/glossary/plug-in.html|
|Webhook|https://kintone-blog.cybozu.co.jp/developer/000283.html|

### 2.2.ログインとポータル画面
指定されたURLをブラウザで開いて「ログインID」と「パスワード」を入力します。
![kin00a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/d8794aee-961e-88f7-8b06-f26251dd865b.png)

初回ログイン時にはパスワードを変更します。（パスワードは忘れないようにしてください！）
![kin00b.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/9b4d75d7-622c-bcd0-1408-87ffb50e4ba4.png)

初回だけ以下のような画面が表示されますので、全て「X」で閉じます。
![kin00c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/3b8900d5-ec71-4c4c-1aa6-134c5661d4d1.png)

kintone にログイン後は以下の**ポータル**画面が表示されます。
![kin01a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/8bcf6a46-2797-747b-2877-c7c65136edfa.png)

**ポータル**画面で主に利用する機能は以下です。

|No.|機能|説明|
|:---:|:---|:---|
|①|サイドメニュー|kintone の各機能に移動するためのサイドメニューを表示|
|②|ホーム|各画面に遷移していても、このポータル画面に戻ります|
|③|スペース|利用できるスペースが表示されます|
|④|アプリ|利用できるアプリが表示されます|
|⑤|アプリの追加|アプリを追加します|

画面遷移先で戻り方がわからなくなった時は、②の「ホーム」でこのポータル画面に戻ると良いでしょう。

## 3.アプリを簡単に作って操作してみる（初級）
kintone の指定された**スペース**（作業環境）にアプリを追加しましょう！
ログインした直後の**ポータル**でアプリを追加するとアプリが整理しにくくなりますので、予め**スペース**を準備して、そちらにアプリを追加することをお勧めします。

### 3.1.スペースの追加（必要な場合のみ）
kintoneのアプリは後々の管理を考えると**スペース**に追加して紐づけた方が良いでしょう。紐づけがない場合、たまに使うアプリを探すのが手間になります。以下の説明ではスペースを活用する前提で話を進めますので、自分で試してみる場合はスペースを追加しておいてください。

スペースの追加については、以下を参照ください。
https://jp.cybozu.help/k/ja/user/space/add_space.html

### 3.2.アプリ作成のシナリオ
**課題：** 会社内でお客様の情報が共有されてないため、担当者が休むとお客様に連絡できない
**解決案：** お客様の情報を社内の全員で共有し、担当者が休みでもお客様に連絡できるようにする
**解決手段：** kintoneでお客様の情報を共有する「顧客リスト」アプリを作成する

### 3.3.スペースへの移動
**ポータル**画面の ③ の「ハンズオンXX-XX」の**スペース**に移動します。
例えば「ハンズオン41-50」の**スペース**は、user41 から user50 が利用するスペースです。
![kin01a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/8bcf6a46-2797-747b-2877-c7c65136edfa.png)

<font color="Red">__userXX の XX 部分はログインしたユーザIDで設定します。__</font>

以下の**スペース**が表示されます。
![kin06c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/665c6a8f-70b8-de9e-5f83-4b533e2e3ca9.png)

<font color="Red">__以降の全ての作業はこのスペースで行う前提での説明となります。__</font>

### 3.4.アプリをマーケットから追加
**スペース**の上部右端①をクリックし、開いたドロップダウンの「アプリの追加」を選択します。
![kin06c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/665c6a8f-70b8-de9e-5f83-4b533e2e3ca9.png)

kintone アプリストアが開きますので、今回はお勧めアプリから「顧客リスト」を選択します。
![kin02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/a0dca1f2-4aa8-fa68-6870-35d6d628c56b.png)

「このアプリを追加」しますが、サンプルデータも含めるようにして「追加」します。
![kin03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/6a4bebb8-257f-674f-da11-820b8e91664a.png)

以下のように「顧客リスト」アプリが追加されたことが確認できます。
クリックして「顧客リスト」アプリを開いてみましょう。
![kin09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/daefdda4-1e24-ddf2-5833-b6709a0016b5.png)

「顧客リスト」アプリの一覧が表示されました。
![kin06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/b830aa3b-b09e-331c-4552-4bd32c543e65.png)

### 3.5.アプリの名前を変更する
先ず最初にアプリの名前を変更します。

１つのスペースで最大10人が作業していますので「顧客リスト」を「userXX顧客リスト」に変更して誰が作ったアプリかわかるようにします。
![kin06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/b830aa3b-b09e-331c-4552-4bd32c543e65.png)

<font color="Red">userXX の XX 部分はログインしたユーザIDで設定します。</font>

④の歯車マークをクリックすると、以下の設定画面が表示されます。
![kin06b.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/011f69cd-e77e-7ec3-8a14-a004dce6d8c4.png)
赤が囲みのアプリ名の「顧客リスト」を「userXX顧客リスト」に上書きして「アプリを更新」します。

確認画面で「OK」した後に一覧画面に戻り、アプリ名が変更されたことが確認できます。

①のリンクをクリックするとスペースに戻りますが、スペースでもアプリ名が変わったことが確認できます。
![kin10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/60c67e69-7a44-54eb-0d0b-31e7f734b5f0.png)

以上で「userXX顧客リスト」アプリの追加は完了です。
簡単ですよね！

### 3.6.アプリの基本操作
アプリの基本操作について説明します。
![kin06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/b830aa3b-b09e-331c-4552-4bd32c543e65.png)

以下に各機能と説明を参照に、色々な操作を試してみましょう。

|No.|機能|説明|
|:---:|:---|:---|
|①|一覧の選択|アプリの一覧を選択します|
|②|グラフの選択|アプリのグラフを選択します|
|③|データの追加|アプリにデータを追加します|
|④|アプリの設定|アプリの設定作業を行います（一覧、グラフもこちらで設定）|
|⑤|アプリのオプション|一覧の表示件数を変更したり、アプリのデータの出力や取込みを行います|
|⑥|データの詳細表示|一覧の1行分のデータを詳細に表示します（通常、データの変更・削除はこの画面から行います）|
|⑦|データの変更|一覧の1行分のデータを変更します|
|⑧|データの削除|一覧の1行分のデータを削除します|

先ほど作成した「userXX顧客リスト」アプリで、以下のようにデータの③追加や④修正をしてみましょう。
![kin07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/7734785d-a1d3-8cb8-ceab-dfbdf8e35e21.png)

データの詳細を確認するため⑥詳細表示を試してみましょう。
![kin08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/60729a69-4021-f991-5ae5-bcc8df273d94.png)

詳細画面からも各操作ができますので、以下を試してみましょう。

|No.|機能|説明|
|:---:|:---|:---|
|①|前後の情報を表示|一覧で前後に表示されていたデータの詳細表示に遷移します|
|②|データの追加|データを追加します|
|③|データの変更|データを変更します|
|④|データの複写|表示しているデータを複写して、データを追加します|
|⑤|アプリの設定|アプリの設定を行います|
|⑥|オプション|このデータのリンク（URL）をコピーや、データの印刷、データの削除を行います|
|⑦|戻る|アプリの一覧画面やスペースの画面に戻ります|

一通りできましたか？

--------------------------------------------

## 4.アプリをEXCELファイルから作りグラフで分析する（初級）
前の課題では予め kintone に準備されているテンプレートからアプリを追加しました。しかしながら、実際は目的に合致したテンプレートがない場合が多いでしょう。
そのような場合には、集計や分析で良く利用されるエクセルのデータがあれば、そのデータから簡単にアプリを追加することもできます。

### 4.1.シナリオ
**課題：** とある大学では過去に実施した公開講座の参加者の満足度わからず、継続すべきか判断できない
**解決案：** 過去の公開講座参加者のアンケート結果から満足度を分析し、継続するか判断する
**解決手段：** kintone に過去の公開講座参加者のアンケート結果を取り込んで満足度をグラフで分析する

これまでの公開講座アンケート結果はエクセルファイルで保管されているものとします。

### 4.2.アンケート結果データの準備
EXCELのデータは以下のように項目とデータだけのシンプルなシートが1枚のものを用意します。
![kin11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/f9729e4e-bd74-889b-2d9a-fabb5b733d25.png)

サンプルのアンケート結果データが入っているEXCELファイル（以下）をダウンロードします。

https://drive.google.com/file/d/1iQzoMJcq4s3M9wxBZqHYUnvdvqGQYKDa/view

URLを開いて表示した後、右上の「ダウンロード」でPCにEXCELのシートを保管します。
![kin12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/debdb241-4b61-fc22-0231-47cacaaed1e5.png)

### 4.3.アプリの追加
先の「1.アプリを簡単に作って操作してみる」と同じ手順で、スペース①のプルダウンから「アプリの追加」を選択します。
![kin06c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/665c6a8f-70b8-de9e-5f83-4b533e2e3ca9.png)

今回は以下の画面で「EXCELを読み込んで作成」を選択します。
![kin13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/30e7f654-8235-1f21-3554-3e35d2cdc7cf.png)

最初に開いた（１／３）画面で「作成を開始する」を選択すると以下の（２／３）画面になります。「すべてにチェックを入れる」をクリックして、全てのチェックを入れた後に「アップロードへ進む」を選択します。
![kin14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/266901fd-5d81-50da-66e9-ec3e4b77a0f7.png)

（３／３）画面で先ほどダウンロードした「アンケート集計サンプルデータ.xlsx」を選択します。
すると、以下のようにプレビュー画面でデータが確認できるようになります。
![kin15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/84aba766-5876-daf4-48a1-0fe9737cd09a.png)

画面をスクロールさせると、以下の画面が表示されます。
「ノーコード開発」項目がドロップダウンになっていますので、ラジオボタンに変更してアプリを「作成」します。
![kin16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/6edab9fd-c128-aac0-16ab-123da6de75a9.png)

スペース画面に戻ると「アンケート集計サンプルデータ」というアプリが追加されていますので、アプリの設定を開きます。
![kin17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/a29b3848-ee5b-c156-ed6e-1b11a7e7d3c7.png)

今回もアプリの名称「アンケート集計サンプルデータ」を「userXXアンケート集計サンプルデータ」に変更して誰が作ったアプリかわかるようにします。
![kin18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/0d23889d-49aa-322e-d4a2-965c59a83378.png)
以上でアプリは完成です。
この方法でも簡単にアプリを追加できますね！

### 4.4.グラフを追加
アンケート結果はグラフで表示すると結果を簡単に把握できて便利ですので、グラフを追加してみます。
グラフは設定画面で追加しますので、右上歯車のアイコンから設定画面を開きます。
![kin19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/b22ccea0-38d9-80eb-84ab-bc2282316a5f.png)

以下の設定画面で「グラフ」のタブを開きます。
![kin20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/514b1458-4ca0-f30d-bd1a-7d4e1761c310.png)

以下のグラフ画面の「＋」でグラフを追加します。
![kin21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/887eca8a-0365-889a-aa2d-ab971b2c226d.png)

いきなりグラフを自動で設定表示しています。
先ずはグラフ名を設定してください。（グラフの名称にはユーザ名を含まなくても良い）
![kin22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/3a221eff-115f-571a-1b05-2c4efb0927dd.png)

グラフの設定項目には以下があります。

|No.|機能|説明|
|:---:|:---|:---|
|①|グラフの種類|グラフの種類を選択します（グラフ以外に集計表も選択可）|
|②|分類する項目|グラフ表示するデータ項目を選択します（データ項目は複数選択可、「＋」で項目を追加、「Ｘ」で項目を削除）|
|③|集計方法|分類項目の集計方法（レコード数、平均、最小値など）を選択します（集計方法は複数選択可、「＋」で項目を追加、「Ｘ」で項目を削除）|
|④|条件|データを選択する条件を設定します（条件は複数設定可、「＋」で項目を追加、「Ｘ」で項目を削除）|
|⑤|ソート|グラフのデータ表示順を設定します（表示順は複数設定可、「＋」で項目を追加、「Ｘ」で項目を削除）|

自動で設定したグラフはわかりづらいので、グラフの種類を縦棒グラフや、円グラフに変えて確認してみます。
![kin23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/93798ead-cea3-869e-9262-1ccf4d37276b.png)
![kin24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/6b3acfee-76d4-7138-634c-d283b9a8eed3.png)

好みのグラフの種類が見つかったら「保存」します。
グラフを保存すると、以下のように追加されたことが確認できます。
![kin25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/3578dd4d-6142-22b7-a4b3-dfd58442126c.png)
グラフは複製追加することも可能ですので、色々表示を変えて試してみるのも良いでしょう。
**この状態ではグラフはまだ保管されない**ので「アプリを更新」します。

アプリを更新した後に、アプリの一覧画面から追加したグラフを表示できます。
![kin26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/e64d2dd2-7b33-6ce7-c3df-c50fcd9f54e6.png)
![kin27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/0f4de71f-7339-0b8c-c4e3-712a7c7c8629.png)

グラフは以下のように表示されます。
![kin28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/4dccd9d5-bfa6-2f8f-7c29-6c6747f5a9bf.png)

グラフ以外に集計も表作成できます。
グラフ、表のいずれも先ず作ってみて表示を確認しながら進めることが活用の近道になるでしょう。

--------------------------------------------

## 5.アプリのレコードを他の人が追加・変更・削除できないようにする（初級）
先の章「4.アプリをEXCELファイルから作りグラフで分析する」で作成したアプリは、アンケート結果を分析するためのものです。現状のデータを勝手に追加・変更・削除などされては集計が正確でなくなるため困ります。
そのような場合はアプリの「アクセス権」を設定してデータの追加・変更・削除の操作ができないように設定します。

### 5.1.アプリの「アクセス権」を設定
「userXXアンケート集計サンプルデータ」アプリの、右上歯車のアイコンから設定画面を開きます。
![kin19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/b22ccea0-38d9-80eb-84ab-bc2282316a5f.png)

以下の設定画面で「設定」のタブを開きます。
![hanzon-3-01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/82457d40-1b84-0481-bfb9-c5231feb1f2e.png)

以下の画面の中央下部にある「アクセス権」の「アプリ」を開きますます。
![hanzon-3-02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/53a1ec09-7401-7861-d9ed-33f1965af65c.png)

以下のアプリの権限を設定する画面が開きます。
![hanzon-3-03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/3539e84f-85a6-ebb4-a40c-c5c8ed9d15c9.png)
「userXX」と「アプリ作成者」はアプリを追加した自身のことでです。「Everyone」はその他のkintoneユーザのことです。
初期設定では全てのユーザがデータの追加・編集・削除が可能になっています。

以下のように全ユーザの「レコード追加」と「レコード編集」、「レコード削除」のチェックを外して、ユーザが誤ってデータの追加・編集・削除の操作ができないように設定します。
![hanzon-3-04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/a2be7bfc-bb3e-5e10-ba58-58eb6d62043c.png)
上記のように編集を終えたら、右上青色の「保存」で設定内容を保存します。

以下の画面で「アプリを更新」すると、設定がアプリに反映されます。
![hanzon-3-05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/74875645-829e-e589-1c4f-14ca14345bf6.png)

以上で設定は完了です。

### 5.2.アプリのデータ追加・変更・削除の操作を確認
先ほど権限設定した「userXXアンケート集計サンプルデータ」アプリで実際にデータの追加・変更・削除の操作ができないか確認してみます。

アプリの右上に注目してください。**「＋」マークの追加ボタンが表示されてない**ことが確認できます。
![hanzon-3-06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/e12f64b8-b027-6c79-9134-ceeeef6a6cce.png)
次に、どの行でも良いので行の右端の青色紙のアイコンで明細画面を開いてみます。

明細画面の右上から**「＋」の追加マーク、ペンの編集マークが表示されず**、三つの点が並んだマークで表示される**「レコードを削除」選択が表示されない**ことが確認できます。
![hanzon-3-07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/49bdd4a8-d58a-569b-e473-4d7e98f7a8de.png)

以上で、権限の設定が反映されてアプリのデータを追加・変更・削除ができない状態に変更できたことが確認できました。
余裕があれば、色々なパターンの権限設定をためしてみましょう。

--------------------------------------------

## 6.アプリを１から作って用途に応じた表示画面にする（初級）
これまでの課題では、テンプレートやEXCELファイルから簡単にアプリを追加しました。無論これらの方法でアプリを作成しても問題ないですが、kintone で全く何もない状態からアプリを作る場合も多くあります。
kintoneで最初からアプリを作成して、用途に応じた表示を追加してみます。

### 6.1.シナリオ
**課題：** リーダがゼミを欠席した時に、出席者を先生に報告できずに困っている
**解決案：** ゼミの参加者が出席を記録して、結果をリーダが先生に報告できるようにする
**解決手段：** kintone にゼミ出席管理アプリを作成しカレンダーで簡単に出席者を確認する

ゼミの出席報告で欲しい項目は以下とします。

|No.|項目|説明|
|:---:|:---|:---|
|①|出席日|出席した日（必須入力）|
|②|氏名|出席者の氏名（必須入力）|
|③|発表|発表の有無|
|④|提出|提出物があれば記載|

### 6.2.アプリの追加
シナリオの課題解決のため、「ゼミ出席管理」アプリを１から作成してみます。

スペース①のプルダウンから「アプリの追加」を選択します。
![kin06c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/665c6a8f-70b8-de9e-5f83-4b533e2e3ca9.png)

今回は「初めから作成」を選びます。
![hanzon-3-08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/4f8c14e7-e2da-5259-29f0-d3fdec9649e7.png)

以下の画面が表示されます。
![kk01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/2b003b79-fceb-9701-181a-589039a2cc74.png)

今回も先ずは「新しいアプリ」というアプリ名を「userXXゼミ出席管理」に変更して、誰が作ったアプリかわかるようにします。

### 6.3.項目の追加と編集
アプリを「初めから作成」した場合はフォームには何もありませんので、先ずは**フィールド**（入力項目となりデータを保存する部品）を配置します。

以下にフォームの**フィールド**の配置や設定方法を簡単に説明します。
![kk04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/65e51aad-8b7a-77df-c13d-df3e455aa415.png)
フィールドにはいくつかの種類が準備されていますが、詳細は以下を参照ください。

**kintoneで利用できるフィールド一覧**
https://jp.cybozu.help/k/ja/user/app_settings/form/form_parts.html

今回利用する**フィールド**は以下です。

|フィールド（部品）|説明|表示形式|
|:---|:---|:---|
|日付|日付形式のデータを入力して保管|日付形式|
|文字列（1行）|1行の文字列を入力して保管|そのままの文字列|
|ラジオボタン|指定した項目を選択します|選択項目|

最初に使いたい部品を**ドラッグ**（クリックしたまま配置したい場所に移動してクリックを外す）します。
![kk02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/38bb64d5-4a75-c20c-5491-9210fc72f623.png)
これでフォームに**フィールド**を配置できます。

**フィールド**の設定や複製、削除を行う場合は、作業する**フィールド**にマウスを近づけた後に、表示された歯車にマウスを近づけと以下のプルダウンメニューが表示されるので、作業内容を選択します。
![hanzon-3-11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/3862a23e-b4cd-3fad-eda7-657ae1deaceb.png)

**フィールド**の表示サイズを変更する場合は、**フィールド**の右端にマウスを近づけると左右の矢印が表示されるので、左や右にドラッグ（クリックしたままちょうどのサイズでクリックを外す）して調整します。
![hanzon-3-16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/3be8cae5-b0a9-8093-51e2-036663becd3f.png)
その他**フィールド**に関する設定については、以下を参照ください。

**kintone HELP フォームを設定する**
https://jp.cybozu.help/k/ja/user/app_settings/form/set_form.html

### 6.4.項目の設定
では、実際に以下の**フィールド**を設定してみます。

|No.|フィールド名|フィールド（部品）|説明|
|:---:|:---|:---|:---|
|①|出席日|日付|出席した日（必須入力）|
|②|氏名|文字列（1行）|出席者の氏名（必須入力）|
|③|発表|ラジオボタン|発表の有無|
|④|提出|文字列（1行）|提出物があれば記載|

先ずは「6.3.項目の追加と編集」の手順で「日付」フィールドを配置します。
設定画面を開いてフィールド名を「出発日」にして「必須項目にする」をチェックして「保存」します。
![hanzon-3-12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/b3faac9e-924a-154a-af82-41fd9e7c91d3.png)

続いて「文字列（1行）」フィールドを配置します。
設定画面を開いてフィールド名を「氏名」にして「必須項目にする」をチェックして「保存」します。
![hanzon-3-13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/f57688d7-298d-2853-0724-0f531c460113.png)

続いて「ラジオボタン」フィールドを配置します。
設定画面を開いてフィールド名を「発表」にします。
ラジオボタンの項目と順番は「有り」、「無し」で設定し、初期値は「無し」を選択して「保存」します。
![hanzon-3-14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/05ee7a17-c9da-92f3-d57f-597b93cf29c3.png)

最後に、再度「文字列（1行）」フィールドを配置し、フィールド名を「提出」にして「保存」します。
![hanzon-3-15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/55b12f72-99b0-b39b-d6bd-a02b529328eb.png)

以上で、フォーム全フィールド（項目）の設定を完了したので「フォームを保存」します。
![hanzon-3-17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/e5e301c2-846e-9e35-584f-89ffd46b1d8c.png)

### 6.5.カレンダー表示の設定
ゼミの出席者は日付と名前の一覧で表示されるより、カレンダーのような表示形式で月毎に一見するだけで確認できると便利です。
kintone はカレンダー形式の表示機能があり、今回はその機能を使ってみます。

「一覧」のタブを選択すると、以下の画面が表示されます。
「＋」をクリックして、新たな一覧を追加します。
![hanzon-3-18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/2996f26e-a593-33ef-9ca7-360e874a528a.png)

初期表示では以下のように「レコード一覧の表示形式」が一覧になっています。
![hanzon-3-23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/a7458e16-d491-c4df-b606-e82dba2be717.png)
通常は一覧形式の表示を利用することが多いですが、日付に関するデータを含む場合はカレンダー表示形式も選択できます。

以下のように一覧名を「カレンダー」と入力し、レコード一覧の表示形式を「カレンダー形式」を選択します。
「カレンダー形式」を表示すると日付とタイトルの選択が表示されるので、日付に「出席日」、タイトルに「氏名」を選択して「保存」します。
![hanzon-3-19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/8d01d8df-4ef1-496b-58bf-44f6bf4b4a02.png)

以下のように、一覧に「カレンダー」が追加できたら「アプリを公開」します。（すでに一旦「アプリを公開」した後に修正する場合は「アプリを更新」します。）
![hanzon-3-20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/de8d52e4-5088-15fa-5f66-44bf7de16060.png)

以下のように、アプリを最初に開いた時に一覧ではなくカレンダーが表示されるようになります。
![hanzon-3-21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/fb1c88fb-9fd4-23d6-03d6-4ccec31ea696.png)
実際に何人か分の出席を追加します。

出席を追加した後は、その日に出席者の名前が表示されます。
以下の例ではカレンダーの7月13日に「テスト太郎」さんが表示されています。
![hanzon-3-22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/6beb0e0a-b070-1bf9-0654-eed867f0c659.png)
「テスト太郎」さんの出席を変更する時は、カレンダーの氏名をクリックして一旦詳細画面を表示、そこから変更画面に遷移することができます。

一から kintone アプリを作る場合でも、操作に慣れてしまいえばさほど難しくはないですよね！

--------------------------------------------

## 7.プラグインを試してみる（初・中級）
### 7.1.プラグインとは
kintone には地図を表示したり、個別レイアウトを作成してPDF帳票を出力するなどの機能はありません。
実際に kintone を使い始めると、地図やPDF帳票などを使いたい要望が出てきますが、これを自分で**カスタマイズ**（プログラム開発して機能を追加したり）することは大変です。そこで、簡単に機能を拡張できる**プラグイン**が提供されています。

**プラグイン**には有償のものと、無償のものがあり、アプリで利用する前に kintone のシステム管理の権限を持つユーザがプラグインを追加する必要があります。システム管理の権限を持つ場合は、必ず事前に追加の設定を行っておくか、権限がない場合はシステム管理者の方にお願いして事前に追加してもらいましょう。

このハンズオンでは「いいねプラグイン」を利用します。以下のリンクを参考に事前にプラグインを準備しておきます。

**プラグインを追加／削除する（システム管理）**
https://jp.cybozu.help/k/ja/admin/add_plugin/plugin.html

**いいね!プラグインダウンロード**
https://developer.cybozu.io/hc/ja/articles/203711920#step3

### 7.2.いいねプラグインを試す
「6.アプリを１から作って用途に応じた表示画面にする（初級）」で作成した「ゼミ出席管理」アプリに、いいね!プラグインを使って Facebook のような「いいね」できる機能を追加します。

**いいね!プラグイン**
https://developer.cybozu.io/hc/ja/articles/203711920

### 7.3.プラグイン用項目の追加
「いいねプラグイン」を使うためには、アプリにいいねが押された回数を保管するフィールドと、いいねを押したユーザを保管するフィールドを追加する必要があります。

以下のカレンダー表示画面で「ゼミ出席管理」アプリに項目を追加するため歯車アイコンで設定画面を表示します。
![hanzon-3-24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/34b3ba68-f87c-a397-4a7a-a145ff15e314.png)

フォームの設定画面で「数値」ファイールドと、「ユーザー選択」フィールドをフォームに追加します。
![hanzon-3-50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/e363758b-b3da-9228-7992-2f6f01f283e4.png)

数値フィールドの設定を開き、フィールド名を「いいねの数」に設定します。
![hanzon-3-51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/66033594-2a4d-7a02-39c5-3679a65bf0cd.png)

ユーザー選択フィールドの設定を開き、フィールド名を「いいね押した人」に設定します。
![hanzon-3-52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/c16c5b46-9856-eec6-2bb7-2757b5497054.png)

一旦フォームを保存します。
![hanzon-3-53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/310e2a40-f1db-42c0-b8d1-7da8f2357703.png)

### 7.4.プラグインの設定
続いてプラグインの設定に移ります。

「設定」タブを選択して、プラグインを開きます。
![hanzon-3-25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/8a64de46-8988-4018-a66a-768ca2027fef.png)

「ゼミ出席管理」アプリはまだプラグインを利用していないため、何も表示されません。
「プラグインの追加」画面を開きます。
![hanzon-3-26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/1fb24209-99e1-d6e1-67f3-7ac5f45ffd43.png)

「いいねプラグイン」をチェックして「追加」します。
![hanzon-3-27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/7bf882f2-7b18-38fd-6ee8-f1c1e261e479.png)

以下のようにいいねプラグインが追加されましたが、このままでは利用できません。
「設定」の歯車をクリックして、プラグインの設定を行います。
![hanzon-3-28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/6ee28696-8e7c-7b80-f25e-4c21590899a8.png)

「いいねした人」に使うフィールドを「いいね押した人」に、「いいねの数」に使うフィールドを「いいねの数」に設定し保存します。
![hanzon-3-29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/88208783-fb09-b2fe-b410-eae8ef7530fe.png)

プラグインの設定を有効にするため、以下の「アプリの設定」リンクで設定画面に戻ります。
![hanzon-3-30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/d54d6fd7-585e-77b8-28dc-3145a6256e56.png)

「アプリを更新」するとプラグインが利用できます。
![hanzon-3-31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/9eedb258-1f1b-6508-308b-19cd9352f033.png)

### 7.5.プラグインの確認
早速プラグインが使えるか確認します。

最初に表示される「カレンダー」表示から、「（すべて）」の一覧表示に変更します。
レコード番号にいいねのアイコンが表示されていますので、1回クリックします。
![hanzon-3-32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/e1b5f4d1-19ff-de18-941d-a107eb493881.png)

以下のようにいいねのアイコンが青塗に変わり、いいねの回数がアイコンの小指辺りに表示されます。
![hanzon-3-33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/720a6f5d-b3eb-6907-371b-850065c43515.png)

折角ですので、同じスペースで別の方が作成した「ゼミ出席管理」アプリの一覧を開いて、いいねを試し合ってみましょう！

### 7.6.その他のプラグイン
kintone にはすでに多くのプラグインがありますので、困った時は以下の情報などを参考に自分のやりたいことに合うプラグインを探すと良いでしょう。

**Cybozu Developer Network サンプルプラグイン**
https://developer.cybozu.io/hc/ja/sections/200681620

**kintone のすぐに使えるプラグイン**
https://qiita.com/yukataoka/items/8109e390e31eb89af278

**kintone プラグイン一覧**
https://qiita.com/rex0220/items/6ceefa1677b3dc58a523

--------------------------------------------

## 初級編をもっと体験したい方は
初級編のハンズオンなど、kintone についてもっと体験したい方は以下などを参考に、オンラインやオフラインで参加してみると良いでしょう！

__【サイボウズ主催】kintoneハンズオンセミナー 便利に使おう講座__
https://page.cybozu.co.jp/-/cy-handson-k

__kintone セミナー__
https://kintone.cybozu.co.jp/seminar/

__kintone Café__
https://www.kintonecafe.com/
https://kintonecafe-kochi.doorkeeper.jp/

--------------------------------------------

# kintone ノーコード開発体験ハンズオン（中・上級編）

## 8.Webhook で Gmail に通知してみる（中級）
kintone にはデータの追加やコメントの書き込み時に他のサービスの外部APIと連携できる Webhook という機能があります。この機能を利用するとプログラミングの知識がなくても、kintone の Webhook で送信したデータを zapier で中継して Gmai に送ることで、kintone にデータを追加した時に Gmail に通知することができます。

プログラム開発はしませんが、zapier のような中継サービスを利用して、Gmail などの他のサービスとの連携を実現する場合でもそれなりに面倒な設定などがあります。ですが Webhook と zapier で他のサービスと連携して使えると非常に便利ですので、是非に以下にご紹介する「WebhookでGmailに通知する」ハンズオン体験もお勧めします。

**WebhookでGmailに通知する**
https://developer.cybozu.io/hc/ja/articles/115000299143

--------------------------------------------

## 9.Google Form の回答結果をアプリに保管する（上級）
kitnone は先に紹介した**プラグイン**や**Webhook**で kintone にない機能を拡張することが可能です。
しかしながら、**プラグイン**や**Webhook**でできることにも限界があります。例えばアンケートなどに良く利用されている Google Form の結果を kintone で管理したい場合は Google Form 側で簡単なプログラム開発を行うことで実現できます。（無論 kintone 側で JavaScript プログラム開発を行うことでも拡張できますが、Google Form との連携の例では Google Form 側での開発が簡単にできるため、Google Form 側のプログラム開発を行っています。）

Google Form はアンケートなどに良く利用されていますが、この回答を kintone に保管するとアンケート結果をチームで共有・解析できて便利です。この方法は普段私も活用しています。Googleのアカウントを取得して、サンプルのJavaScriptプログラムを少し修正するだけですので、こちらのハンズオン体験もお勧めします。

**Google フォームとkintoneを連携**
https://developer.cybozu.io/hc/ja/articles/115003856483

### 補足１（APIトークンについて）
APIトークンとは、アプリごとに「トークン」と呼ばれる文字列を発行し、この文字列をユーザIDとパスワードの代わりに利用することで、kintone以外の外部アプリ等との連携を行うことができます。発光するAPIトークンには権限を設定することもできるので、例えばデータの閲覧のみを許可することで安全に外部アプリとの連携を行うことが可能になります。
設定方法や詳細については、以下を参照ください。

**APIトークンを使ってみよう**
https://developer.cybozu.io/hc/ja/articles/202463840

### 補足２（Apps Script でトリガーを追加し保存する際のトラブル）
Google Apps Script でトリガーを追加し保存する時に、以下の画面が表示されます。Googleアカウントを複数登録されている方は、必ずGoogleフォームを作成したアカウントを選択してください。
![GF-KIN-01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/1ad6e96d-7dc9-8c27-c59e-31a1eb0e34a8.png)

以下の画面が表示されたら「詳細」を確認します。
![GF-KIN-02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/7c407556-9de0-cb63-f94b-b6cf364e1225.png)

外部の Google Apps Script ライブラリィを利用するため、このような画面の表示されます。今回はハンズオン利用で問題ないため、アクセスを許可するため、ページに移動します。
![GF-KIN-03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/e3efa76d-013b-fb11-08dc-477284056682.png)

以下の画面をスクロールすると「許可」ボタンが表示されますので、許可します。
![GF-KIN-04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/21faa17a-3bb5-0e83-6767-3478f817cb57.png)
![GF-KIN-05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75892/2821a64f-e5aa-d1d3-078c-454b9932fb23.png)

--------------------------------------------

## 10.kintoneからSlackに通知を送る方法（上級）
kintone の JavaScript カスタマイズ開発を体験してみたい方は、kintone から Slack に通知を送る以下を試してみると良いでしょう。slack 側で Webhook を設定して、テキストエディタで JavaScript プログラムをコピペして、プログラムの <ドメイン名> と <WebHookのURLパラメータ> 部分を自分の環境に合わせて修正するだけで使えます。

以下のような紹介されているプログラムのコードを活用して動かしながら体験することが、kintone の JavaScript カスタマイズ開発を習得するための近道になるかもしれません。

**kintoneからSlackに通知を送る方法**
https://developer.cybozu.io/hc/ja/articles/207419736

--------------------------------------------

## 11.その他 kintone でさらに開発に挑戦してみる方向けの情報
以上、ハンズオンを体験して、kintone の JavaScript カスタマイズ開発に挑戦したい方は以下の情報を参照すると良いでしょう。

**外部連携サービス一覧**
https://developer.cybozu.io/hc/ja/articles/360000877166

**cybozu developer network**
https://developer.cybozu.io/hc/ja

**kintone 開発者ライセンス（開発環境）**
https://developer.cybozu.io/hc/ja/articles/200720464

**開発ノウハウ**
https://developer.cybozu.io/hc/ja/sections/360000188063

**kintone API**
https://developer.cybozu.io/hc/ja/articles/360028177472

--------------------------------------------

以上でこの内容は終わりです

**更新履歴：**
2025-05-02 本文中の表示が崩れていた箇所を修正