Google Forms API は RESTful インターフェースで、フォームとテストの作成と変更、フォームの回答とテストの成績の取得、自動フィードバック付きのテスト解答集の設定、プッシュ通知の受信が可能です。この API の最も一般的な用途は次のとおりです。
- フォームやテストを作成する
 - 回答者を公開、管理する
 - フォームやテストを更新する
 - フォームやテストの回答を取得する
 - フォームのコンテンツとメタデータを読み取る
 - プッシュ通知を設定して受信する
 
- Forms API で使用される一般的な用語を以下に示します。
 - フォーム
 Google ドライブで作成、保存された Google フォームのドキュメント。各フォームは
Formリソースで表され、文字、数字、ハイフン、アンダースコアを含む一意のformId値を持ちます。フォーム ID は Google フォームの URL で確認できます。https://docs.google.com/forms/d/FORM_ID/edit- クイズ
 解答集と照らし合わせてフォームの回答を採点できる、特定のタイプの Google フォーム ドキュメント。テストを作成するには、
batchUpdate()メソッドを使用して、既存のフォームのisQuiz設定をtrueに更新する必要があります。- 項目
 フォーム内の単一の要素。Item リソースで表されます。
Itemは、セクション、質問グループ、質問、テキスト、画像、動画を含むことができる繰り返し要素です。- 質問
 フォームの 1 つの質問。
Questionリソースで表されます。- 質問グループ
 同じ回答の選択肢を共有する質問のグループ(1 ~ 5 の評価のグリッドなど)。
QuestionGroupItemリソースで表されます。- セクション
 セクションを使用すると、フォームを複数のページに分割し、条件付きロジック(ユーザーの回答に基づいて特定の質問のみを表示するなど)を追加できます。セクションは
PageBreakItemリソースに対応します。- 回答
 質問に対するエンドユーザーの回答。
Answerリソースで表されます。成績情報(存在する場合)、メタデータ、回答の内容の両方が含まれます。- レスポンス
 エンドユーザーによるフォームの送信。
FormResponseリソースで表されます。- スマートウォッチ
 フォーム スキーマの変更(質問の編集など)またはフォームの回答の送信を追跡し、変更が発生したときにプッシュ通知を送信するトリガー。
Watchリソースで表されます。
フォームの構造
フォーム オブジェクトの多くはさまざまな方法で相互にネストできるため、フォームとクイズを管理する際に、さまざまなフィールドを指定する方法を理解するのは複雑になる可能性があります。フォームの視覚的な表現がフィールドにどのようにマッピングされるかを確認するには、UI を使用して、アプリケーションで生成される可能性のあるフォームの例をいくつか作成することをおすすめします。次に、forms.get() メソッドを使用して対応する JSON を取得し、比較できるようにします。たとえば、このクイズの例は次の JSON に対応します。
{
  "formId": "FORM_ID",
  "info": {
    "title": "Famous Black Women",
    "description": "Please complete this quiz based off of this week's readings for class.",
    "documentTitle": "API Example Quiz"
  },
  "settings": {
    "quizSettings": {
      "isQuiz": true
    }
  },
  "revisionId": "00000021",
  "responderUri": "https://docs.google.com/forms/d/e/1FAIpQLSd0iBLPh4suZoGW938EU1WIxzObQv_jXto0nT2U8HH2KsI5dg/viewform",
  "items": [
    {
      "itemId": "5d9f9786",
      "imageItem": {
        "image": {
          "contentUri": "DIRECT_URL",
          "properties": {
            "alignment": "LEFT"
          }
        }
      }
    },
    {
      "itemId": "72b30353",
      "title": "Which African American woman authored \"I Know Why the Caged Bird Sings\"?",
      "questionItem": {
        "question": {
          "questionId": "25405d4e",
          "required": true,
          "grading": {
            "pointValue": 2,
            "correctAnswers": {
              "answers": [
                {
                  "value": "Maya Angelou"
                }
              ]
            }
          },
          "choiceQuestion": {
            "type": "RADIO",
            "options": [
              {
                "value": "Maya Angelou"
              },
              {
                "value": "bell hooks"
              },
              {
                "value": "Alice Walker"
              },
              {
                "value": "Roxane Gay"
              }
            ]
          }
        }
      }
    },
    {
      "itemId": "0a4859c8",
      "title": "Who was the first Dominican-American woman elected to state office?",
      "questionItem": {
        "question": {
          "questionId": "37fff47a",
          "grading": {
            "pointValue": 2,
            "correctAnswers": {
              "answers": [
                {
                  "value": "Grace Diaz"
                }
              ]
            }
          },
          "choiceQuestion": {
            "type": "RADIO",
            "options": [
              {
                "value": "Rosa Clemente"
              },
              {
                "value": "Grace Diaz"
              },
              {
                "value": "Juana Matias"
              },
              {
                "value": "Sabrina Matos"
              }
            ]
          }
        }
      }
    }
  ],
  "publishSettings" : {
    "isPublished": true,
    "isAcceptingResponses": true
  }
}
次のステップ
- 認証と認可の処理など、Google Workspace API を使用した開発の詳細については、Workspace デベロッパーのスタートガイドをご覧ください。
 - 基本的な Forms API アプリを構成して実行する方法については、クイックスタートの概要をご覧ください。