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