Google Forms API は RESTful インターフェースで、フォームとテストの作成と変更、フォームの回答とテストの成績の取得、自動フィードバック付きのテスト解答集の設定、プッシュ通知の受信が可能です。この API の一般的な用途は次のとおりです。
- フォームまたはテストを作成する
- フォームの回答者を公開、管理する
- フォームまたはテストを更新する
- フォームまたはテストから回答を取得する
- フォームのコンテンツとメタデータを読み取る
- プッシュ通知を設定して受信する
- Forms API で使用される一般的な用語を以下に示します。
- フォーム
Google ドライブで作成、保存される Google フォーム ドキュメント。 各フォームは
Formリソースで表され、 一意のformId値を持ち、文字、数字、ハイフン、または アンダースコアを含みます。フォーム ID は、フォームの URL で確認できます。https://docs.google.com/forms/d/FORM_ID/edit- テスト
解答集に基づいてフォームの回答を採点できる、特定の種類の Google フォーム ドキュメント。テストを作成するには、
batchUpdate()メソッドを使用して、既存のフォームのisQuiz設定をtrueに更新する必要があります。- 項目
フォーム内の単一の要素。 Item リソースで表されます。
Itemは繰り返し要素で、セクション、質問グループ、質問、テキスト、画像、動画を含めることができます。- 質問
フォーム内の単一の質問。
Questionリソースで表されます。- 質問グループ
同じ回答のセットを共有する質問のグループ(1 ~ 5 の評価のグリッドなど)。
QuestionGroupItemリソースで表されます。- セクション
セクションは、フォームを複数のページに分割し、条件付きロジック(ユーザーの回答に基づいて特定の質問のみを表示するなど)を追加する方法です。セクションは
PageBreakItemリソースに対応します。- 回答
エンドユーザーが質問に対して投稿した回答。
Answerリソースで表されます。成績情報(存在する場合)、メタデータ、回答の内容が含まれます。- レスポンス
エンドユーザーによるフォームの送信。
FormResponseリソースで表されます。- スマートウォッチ
フォーム スキーマの変更(質問の編集など)またはフォームの回答の送信の変更を追跡し、変更が発生したときにプッシュ通知を送信するトリガー。
Watchリソースで表されます。
フォームの構造
フォームとテストを管理する場合、多くのフォーム オブジェクトをさまざまな方法でネストできるため、さまざまなフィールドを指定する方法を理解するのは複雑になる可能性があります。フォームのビジュアル表現がフィールドにどのようにマッピングされるかを確認するには、UI を使用して、アプリケーションで生成される可能性のあるフォームの例をいくつか作成することをおすすめします。次に、対応する JSON
を
forms.get() メソッド
を使用して取得し、比較します。たとえば、
このテストの例
は次の JSON に対応しています。
{
"formId": "FORM_ID",
"info": {
"title": "Famous Black Women",
"description": "Please complete this quiz based off of this week's readings for class.",
"documentTitle": "Famous Black Women"
},
"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 アプリを構成して実行する方法については、 クイックスタートの概要をご覧ください。