はじめに
アンケートやイベントの出欠、コンタクト情報の収集や各種申し込みフォームなど
Googleフォーム
を使うと容易に作成、送信ができます。
今回は、
Google Apps Script
を使って、その回答をすばやくkintoneに登録してみたいと思います。
事前に必要なもの
- Googleアカウント
- kintoneアカウント
- 一年間無料の開発者環境を取得できます。
詳細は kintone開発者ライセンス(開発環境) を確認してください。
- 一年間無料の開発者環境を取得できます。
開発の流れ
- Googleフォームの作成
- kintoneアプリの作成
- Google Apps Scriptによるプログラムの作成
以上の手順で開発していきます。
Googleフォームの作成
Step 1
Googleアカウントにログイン後、右トップメニューのGoogleアプリアイコンより、Googleフォームを選択し(または、
https://docs.google.com/forms/
から直接ログイン)、「新しいフォームを作成」ー「空白のフォーム」の「+」サインをクリックします。
Step 2
Googleフォームの作成画面が表示されるので、フォームのタイトル、フォームの詳細を以下の例のように入力します。
- [フォーム名]
- 求職アプリケーションフォーム
- [フォームの説明・詳細等]
- 求職者向けアプリケーションフォームです。
Step 3
設定タブをクリックして、「回答」設定を開き、「メールアドレスを収集する」設定から「回答者からの入力」を選択します。
Step 4
次に「質問」タブをクリックし、「質問設定」に戻ります。
「無題の質問」について、メニューより回答欄のフィールドタイプとして「記述式(短文)」を選択し、質問欄に質問を入力します。
- [質問]氏名
回答を必須にしたい場合、以下のように「必須」を選択します。
Step 5
以下の画像を参考に質問を追加します。
- [タイプ]日付、[質問]生年月日
- [タイプ]チェックボックス、[質問]希望職種、[選択肢]人事、営業、受け付け、購買
- [タイプ]プルダウン、[質問]就業形態、[選択肢]正社員、契約社員、パートタイム
- [タイプ]時刻、[質問]希望就業開始時刻
- [タイプ]ラジオボタン、[質問]就業経験、[選択肢]有、無
- [タイプ]ファイルのアップロード、[質問]履歴書
以上でGoogleフォームの完成です。
kintoneアプリの作成
Step 1
kintoneのアプリ作成画面より、「はじめから作成」を選択し、以下の画像を参考にフィールドを追加します。
| フィールドの種類 | フィールド名 | フィールドコード | 備考 |
|---|---|---|---|
| 文字列(1行) | 氏名 | name | 必須項目 |
| 文字列(1行) | メールアドレス | 必須項目 | |
| 日付 | 生年月日 | dob | |
| チェックボックス | 希望職種 | department | 選択肢:人事、営業、受け付け、購買 |
| ドロップダウン | 就業形態 | employment | 選択肢:正社員、契約社員、パートタイム |
| 時刻 | 希望就業開始時刻 | start_time | |
| ラジオボタン | 就業経験 | experience | 選択肢:有、無 |
| 添付ファイル | 履歴書 | resume |
Step 2
次にアプリの設定画面より、「APIトークン」を作成します。
「APIトークン」設定画面より、「生成する」ボタンをクリックし、「アクセス権」に「レコード追加」をチェックして「保存」します。
アプリの設定画面に戻ったら、「アプリを更新」をクリックして、変更した設定をアプリに反映します。
以上で、アプリの完成です。
プログラムの作成
Step 1
上記で作成したGoogleフォームを再び開き、「その他」メニューから「Apps Script」をクリックします。
以下の画面が開くので、プロジェクト名、ファイル名を入力します。
Step 2
manifestファイルに、OAuth scopeを記載します。
プロジェクトの設定ボタンから 「appsscript.json」マニフェスト ファイルをエディタで表示する にチェックを入れます。
エディタに戻り、appsscript.jsonに、次のようにOAuth scopeを追加します。
最後の要素に追記する場合には、末尾のカンマ(,)は不要です。
|
|
Step 3
下記を参考にコーディングします。
|
|
注:{subdomain}には、お使いのkintoneのサブドメイン名を入力してください。(例:xxxxx.cybozu.com)
{アプリID}は、作成したkintoneアプリのIDを入力します。(次のような画面から確認できます)
{kintoneアプリのAPIトークン}には、上記
「kintoneアプリの作成」-「Step2」
で生成したAPIトークンを入力します。
コーディング終了後、保存します。
解説
Googleフォームの回答を取得
以下のAPI関数でまず、アクティブなフォーム(回答が送信されたフォーム)を取得します。
FormApp.getActiveForm()
|
|
以下のAPI関数で、フォーム送信時の回答のデータを取得します。
form.getResponses();
|
|
kintoneへ送信するJSON形式のデータを作成します。
回答者のメールアドレスは以下のAPI関数により取得できます。
latestResponse.getRespondentEmail();
|
|
フォーム内の質問回答事項の詳細を取得します。
latestResponse.getItemResponses();
|
|
ループして、各質問事項と回答を取得します。
|
|
kintoneへ送信するリクエストデータのJSON形式の詳細は 1件のレコードを登録する を参照してください。
Googleドライブにアップロードされたファイルデータを取得
Google Driveにアップロードされたファイルデータを取得し、kintoneへアップロードしてFile Keyを設定します。
|
|
ファイルデータをkintoneにアップロード
Googleドライイブから取得したファイルデータをkintoneにアップロードします。
取得したFile Keyをリターンします。
|
|
kintoneへデータを送信
上記で作成したkintoneアプリの情報を設定します。
|
|
次のAPI関数でkintoneへデータを送信します。
UrlFetchApp.fetch(subdomain, options);
|
|
次の形式でレスポンスが返ってくれば成功です。
{"ids":["レコードID"],"revisions":["リビジョン番号"]}
|
|
Step 4
トリガーの設定画面を表示し、[トリガーを追加]からトリガーを追加します。
イベント発生時に実行する関数、トリガーとなるイベントを設定し、保存します。
以上でGoogle Apps Scriptの設定は完了です。
動作の確認
作成したGoogleフォームの右上の「公開」ボタンをクリックし、「フォームの公開」画面にて「公開」ボタンをクリックします。
再び「公開」ボタンをクリックし、「回答者へのリンクをコピー」をクリックし、「コピー」をクリックします。
新しいブラウザーを開き、コピーしたリンクを貼り付け、回答者向けGoogleフォームを開きます。
回答を入力し、「送信」ボタンをクリックして、回答を送信します。
送信後、回答したレコードがkintoneに登録されていれば動作確認完了です。
まとめ
Googleフォームを使うとアンケートやイベントの出欠、コンタクト情報の収集や各種申し込みフォームなど簡単に作成できる上、EmailやSNSで送信したり、自社のサイトにフォームを埋め込むことも可能です。
その回答をkintoneアプリに自動的に記録することによって結果を効率的に管理できるのではないでしょうか。
参照サイト
- Google Apps Script APIレファレンス
https://developers.google.com/apps-script/reference/forms/
このTipsは、2025年3月版kintoneで動作を確認しています。
