Google Forms連携のサンプル
いつもお世話になっております。カスタマーサクセス部の橋本です。
APIを使ってどんなことができますか?連携できますか?といった
ご相談をいただく機会がございますので、サンプルでご紹介させていただきます。
本記事では、以下を目的としてご案内させていただきます。
・API利用した連携の全体像やイメージをご理解いただくこと。
・API利用した連携の難易度をご理解いただくこと。
・自動化/連携を行うための開発ツールが別途必要であること。
なお、連携先や開発ツールの仕様変更により正しく動作出来ない可能性があることもご理解いただき、合わせて、連携先や開発ツールの操作についてはサポート範囲外となりますので、お取引のあるSi業者様などへご相談をお願いいたします。
[サンプルの概要]
1. Googleフォームに回答を送信
2. Google Apps Script(以下GAS)でフォームの回答を受け取り、AppSuiteのAPIへアクセス
3. AppSuiteのアプリケーションにデータが追加される
[事前準備]
1.Googleアカウントを用意する
GoogleフォームおよびGASスクリプトを作成するためのアカウントを用意します。
2.AppSuiteのアクセスキーを用意する
AppSuiteのAPIを使用するため、アクセスキーが必要になります。
[個人設定>アクセスキー設定]から発行し、コピーしておいてください。
※使用するアプリケーションのデータ変更権を持つユーザーで発行してください。
[手順]
1. Googleフォームを用意する
2. アプリケーションを用意する
3. スクリプトを用意する
4. 動作確認を行う
1:Googleフォームを用意する
AppSuiteと連携させるGoogleフォームを用意します。
※すでに作成されたものでも構いません。
※本資料で用いるスクリプトは、グリッド系の質問形式に対応していません。
(詳しくは文末の「制限事項」をご覧ください。)
2:AppSuiteのアプリケーションを用意する
・Googleフォームから入力した回答を保存するアプリケーションを作成します。
・Googleフォームの各質問に対して、対応する部品を一つずつ作成します。
※すでに作成されたものでも構いません。
・部品名は、Googleフォームの質問文と同じ文言を指定してください。
また、部品タイプは、Googleフォームの質問形式と合わせてください。
Googleフォーム質問形式 | AppSuite部品タイプ |
---|---|
記述式 | 文字(一行) |
段落 | 文字(複数行) |
ラジオボタン | ラジオボタン |
チェックボックス | チェックボックス |
プルダウン | プルダウン |
ファイルのアップロード | 添付ファイル |
均等目盛 | ラジオボタン |
選択式(グリッド) | ※未対応 |
チェックボックス(グリッド) | ※未対応 |
日付 | 日付 |
時刻 | 時刻 |
例)
「API設定」から、アプリケーション識別子を設定しコピーしておきます。
本サンプルでは、google_formとします。
3:スクリプトを用意する
スクリプトとは、GASにおけるプロジェクトの単位です。
一つのスクリプトが一つのGoogleフォームに対応します。スクリプトの中にいくつかプログラムファイルを保存することもできます。
スクリプトは、Googleフォームごとに設定できます。
3-1 スクリプトを開く
Googleフォームの設定画面のメニューから、「スクリプトエディタ」を選択します。
3-2 スクリプトプロパティを設定する
スクリプトプロパティとは、スクリプト内の環境変数のようなものです。
ソースコードにハードコーディングしたくない値などをkey-value形式で保存できます。
プロジェクトの設定画面を開きます。
スクリプトプロパティの設定を開きます。
スクリプトプロパティの追加をクリックして、下記の通り3つ設定します。
プロパティ | 値 |
---|---|
access_key | AppSuiteのAPIを実行するユーザーのアクセスキー |
app_id | 「@」を先頭に付けたアプリケーション識別子 |
url | モジュール「appsr.cgi」のURL <例:クラウド版の場合> https://xxxx.dn-cloud.com/cgi-bin/dneo/appsr.cgi ※xxxxの箇所はお客様ごとのサブドメインになります。 |
3-3 コーディングする
プログラム画面を開きます。
ファイルの右側にある[+]をクリックし、スクリプトを選択してください。
以下のような画面が表示されますので、デフォルトで記載されている1行目から4行目を削減してください。
ここに必要なコードサンプルについては、下記のダウンロードボタンから入手をお願いいたします。
※アンケート回答後に、テキストファイルをダウンロードできます。
ダウンロードされたテキストファイルを開き、コードサンプルをコピーしてスクリプト内に貼り付けしてください。
(貼り付けいただくと、199行目まで記載されます。)
貼り付けが完了しましたら、画面上部のボタンから保存してください。
3-4 トリガーを設定する
トリガーとは、保存したプログラムの自動実行設定です。
トリガー設定画面を開きます。
トリガーを追加をクリックします。
関数「onSubmit」を実行関数に選択し、イベントタイプに「フォームの送信」を選択し、保存してください。
3-5 デプロイする
右上のボタンから「デプロイ」「新しいデプロイ」を選択します。
「ウェブアプリ」を選択し、デプロイします。
アクセスできるユーザーは、全員を選択し、デプロイをクリックしてください。
データへのアクセス許可を求められますので、
自分のアカウントを選択してGoogleフォームやGoogle Driveへのアクセスを許可します。
以下の画面が表示されれば完了です。
以上で設定は終了です。
4:動作確認を行う
Googleフォームに回答を入力して送信し、アプリケーションにデータが追加されることを確認してください。
制限事項
・ユーザー選択部品や組織選択部品に対応する質問形式がございません。
Googleフォームには、AppSuiteのユーザー選択部品や組織選択部品に対応する質問形式がございません。
ユーザーまたは組織のIDを入力させるなどして代替してください。
・Googleフォームのチェックボックスとラジオボタンの「その他」に対応しておりません。
AppSuiteのチェックボックスとラジオボタンには、Googleフォームにあるような「その他」の選択肢がございません。
対応したい場合、「その他」に入力された文章を保存するための部品を別途用意する必要がございます。
・グリッド系の質問タイプに対応しておりません。
AppSuiteには、Googleフォームにある「選択式(グリッド)」および「チェックボックス(グリッド)」がございません。
対応したい場合、チェックボックス部品またはラジオボタン部品を複数並べ、疑似的にグリッド部品を作成する必要がございます。
■本件に関するお問い合わせ
株式会社ネオジャパン カスタマーサクセス部
TEL:045-640-5921 Email:csuccess@desknets.com
WRITER
みなとデスクネッツ編集部
もっと使いやすいデスクネッツを働くみなで作っていきたい! desknet's NEOをお使いいただいている皆さまがもっとデスクネッツを使いこなし、業務効率化をしていただくため、 現場目線で活用術や新バージョン情報をお伝えしていくメディアとして記事を執筆しています。