メインコンテンツにスキップ
すべてのコレクション🔗外部サービス(アプリ)との連携Googleフォーム
Googleフォームトリガーで、回答内容を取得する方法
Googleフォームトリガーで、回答内容を取得する方法

Googleフォームのアプリトリガー使用時に、回答内容を取得する方法を説明します。

Yoom 青柳 avatar
対応者:Yoom 青柳
今週アップデートされました

概要

YoomのアプリトリガーにはGoogleフォームをご用意しております。

こちらを活用することで、Googleフォームの回答を起点にフローボットを起動させることが可能です。

その際、デフォルトで取得できるアウトプット(値)は仕様上、「回答ID」

「最終回答日時」「回答の作成日時」「回答者のメールアドレス」のみとなっており、回答内容を取得するためにJSONPATHを用いて、アウトプットを追加する必要があります。

今回は回答内容のアウトプットを取得する方法を説明します。

回答内容の取得方法1_トリガー上で直接取得する

この方法はGoogleフォームの構成にセクションなどがない場合にご利用ください。

1.レスポンス結果を表示する

以下の手順に沿って、YoomのGoogleフォームトリガーのレスポンス結果を取得します。

1.実際に使用するGoogleフォームのプレビュー画面からテスト回答を行います。

2.Yoomのトリガー設定画面に遷移し、フォームID※を入力して、テストボタンを押します。

※フォームIDはGoogleフォームの編集画面上のURLからコピーして取得してください。

https://docs.google.com/forms/d/●●●/edit この●●●の部分がIDです。

2.アウトプットとして使う項目の「+」ボタンを選択する

次に以下に沿って回答内容の値をアウトプットに追加します。

1.テスト後に、画面下部の「+取得する値を追加」を押します。

2.answers以下に表示されている回答内容横の+マークを押します。

3.追加した項目のアウトプット名や入力形式を変更する

最後に追加されたアウトプットの項目名や入力形式を任意の内容に変更して完了です。

1.追加された値にカーソルを併せて表示されペンマークを押します。

2.項目名をGoogleフォームの質問項目名に、入力形式を任意の形式に変更します。JSONPathの項目は自動的に追加されているので、そのまま保存します。

回答内容の取得方法2_最新の回答を取得するアクションを活用して取得する

Googleフォームにセクションが設けられており、回答ごとにフォームが分岐するような構成になっている場合はこちらを参考にすべての回答パターンを取得してください。

※セクションが分かれている場合、トリガー上ですべての回答パターンの取得が仕様上難しいため、このような方法での対応となります。

1.Googleフォームで各セクションの回答パターンをすべてテストする

はじめに今回使用するGoogleフォームで、以下のように各セクションの回答パターンを取得できるよう、Googleフォームのデモ回答を行います。

  • セクションとは以下のように回答によってルートが分岐する機能です。

  • Googleフォームで以下のように実際に各セクションのパターンをすべて回答します。

  • すべてのパターンで回答すると以下のように回答結果にその情報が表示されます。

2.回答の一覧を取得(回答期間を指定)アクションを設定する

次にYoomのフローボットを作成し、トリガー下の+マークを押して以下を設定します。

  • オペレーション:アプリと連携するオペレーション

  • アクション:回答の一覧を取得(回答期間を指定)

  • フォームID:Googleフォームの編集ページURL内のID
    ※フォームIDはhttps://docs.google.com/forms/d/●●●/edit この●●●の部分がIDです。

  • 回答期間の開始:クリックして日付タブから今日(YYYY-MM-DD形式)を選択し、その後ろに直接T00:00と入力

3.レスポンス結果からセクション別の回答IDをコピーする

次にテストを押します。成功すると以下のようにレスポンス結果が表示され1で回答した各回答内容が表示されます。

そのうち、共通した質問以外のセクション別の回答ID(questionId)に該当するIDをコピーし、別の場所にペーストして保存してください。

※このとき、共通の質問項目の回答IDはコピー不要です。(以下例の場合名前などの項目)

4.フォームに回答が送信されたらトリガーを設定する

次に手動トリガーになっている箇所の変更ボタンを押し、アプリトリガーを選択して以下を設定します。

  • アプリ:Googleフォーム

  • アクション:フォームに回答が送信されたら

  • トリガーの起動間隔:任意の間隔

  • フォームID:Googleフォームの編集ページURL内のID
    ※フォームIDはhttps://docs.google.com/forms/d/●●●/edit この●●●の部分がIDです。

5.JSONPathで回答をアウトプットに追加する

次にテストを押します。テストに成功するとレスポンス結果が表示されるので、以下のような動画の流れで設定を行い、完了後保存します。

このとき、トリガーでは取得できていない別のセクションの回答IDの場合、設定時は空白となりますが、実際の回答が行われた際にはそのアウトプットに対して回答が反映されます。

以下の例の場合、ラーメン派の回答には設定時には空白となりますが実際に回答が行われると値が反映されます。

  • 名前などの共通回答項目はレスポンス結果内の+ボタンから値を追加し、項目名などをわかりやすい名称に変更

  • セクション別の回答項目はanswers.0000.textAnswers.answers[0].valueをJSONPathの入力欄にペーストし、0000を3でコピーした回答IDに置き換え、項目名などをわかりやすい名称に変更

6.回答の一覧を取得アクションの削除

最後に回答の一覧を取得アクションは不要となるので、削除し新たに必要なオペレーションを設定します。

以上が、Googleフォームで、回答内容を取得する方法となります。

# Googleフォーム,フォーム,Google,GoogleForm,回答ID,JSONPATH,取得,アウトプット

こちらの回答で解決しましたか?