Google Forms API と Apps Script の Forms サービスでできることには、重複する部分があります。このガイドでは、類似点と相違点について説明し、プロジェクトに最適なものを判断できるようにします。
フォームでサポートされている機能
REST API と Apps Script の Forms Service は、それぞれがサポートしていないフォーム機能をサポートしています。サポートされている機能の正確なリストは、時間の経過とともに変化します。特定の機能がサポートされているかどうかを確認するには、ドキュメントの残りの部分をご覧ください。
REST API は、次の機能をサポートしていません。
- フォームの回答を送信する
- pub/sub 通知の本文にフォームまたは回答の詳細データを含める
Apps Script の Forms Service では、次の機能はサポートされていません。
- Cloud Pub/Sub を使用してフォーム イベントにサブスクライブする
- 多肢選択式以外の質問形式で正解を設定する
新しい REST API 機能のリクエスト
REST API は Apps Script の Forms Service よりも新しく、新機能が定期的に追加されています。特定の機能の優先度を上げたい場合は、機能リクエストを送信してください。
イベントベースの動作
{apps_script_name_short} トリガーと REST API の forms.watches リソースの両方で、フォームが変更されたときにアクションを実行する方法が提供されています。
REST API の forms.watches は、次の用途に適しています。
- 最大信頼性
- Cloud Pub/Sub との相互運用性
- フォームが編集されたときの通知
次の場合は Apps Script トリガーを使用することをおすすめします。
- 各通知に含まれるフォームまたは回答データ
- 時間ベースのトリガー
割り当て
Apps Script と Forms API ではサービス上限が異なります。
言語と環境
JavaScript で開発する場合は、Apps Script を使用すると、Google Cloud コンソール プロジェクトと OAuth 同意フローの設定を自動化できるため、時間を節約できます。Apps Script には、ブラウザベースのコードエディタも用意されており、Google サーバーでコードを実行できます。
一方、REST API は JavaScript 以外の多くの言語でクライアント ライブラリを提供するため、任意の言語で開発でき、ランタイムや同時実行の制限を受けることもありません。
Apps Script から REST API を使用する
Apps Script 開発環境を使用したいが、フォーム REST API の機能も使用したい場合は、UrlFetchApp を使用して実現できます。詳細については、Apps Script プロジェクトを設定するをご覧ください。
Forms REST API は、Apps Script の拡張サービスとしてはまだ利用できません。サポートをご希望の場合は、機能リクエストを提出してください。