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