REST Resource: forms

リソース: Form

Google フォームのドキュメント。フォームはドライブで作成され、フォームの削除やアクセス保護の変更は Drive API を通じて行われます。

JSON 表現
{
  "formId": string,
  "info": {
    object (Info)
  },
  "settings": {
    object (FormSettings)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "revisionId": string,
  "responderUri": string,
  "linkedSheetId": string
}
フィールド
formId

string

出力のみ。フォーム ID。

info

object (Info)

必須。フォームのタイトルと説明。

settings

object (FormSettings)

フォームの設定。これは UpdateSettingsRequest で更新する必要があります。forms.createUpdateFormInfoRequest では無視されます。

items[]

object (Item)

必須。フォームのアイテムのリスト。セクション ヘッダー、質問、埋め込みメディアなどを含めることができます。

revisionId

string

出力のみ。フォームのリビジョン ID。変更リクエストのベースとなるリビジョンを識別するために、更新リクエストの WriteControl で使用されます。

リビジョン ID の形式は時間の経過とともに変化する可能性があるため、不透明に扱う必要があります。返されたリビジョン ID は、返却されてから 24 時間のみ有効であることが保証され、ユーザー間で共有することはできません。呼び出し間でリビジョン ID が変更されていなければ、フォームは変更されていません。一方、ID(同じフォームとユーザー)が変更された場合、通常はフォームが更新されていますが、ID の形式の変更などの内部的な原因によって ID が変更された可能性もあります。

responderUri

string

出力のみ。回答者と共有するフォームの URI。ページが開き、ユーザーは回答を送信できますが、質問を編集することはできません。

linkedSheetId

string

出力のみ。このフォームからの回答を蓄積している、リンク先の Google スプレッドシートの ID(そのようなシートが存在する場合)。

情報

フォームに関する一般的な情報。

JSON 表現
{
  "title": string,
  "documentTitle": string,
  "description": string
}
フィールド
title

string

必須。回答者に表示されるフォームのタイトル。

documentTitle

string

出力のみ。ドライブに表示されるドキュメントのタイトル。Info.title が空の場合、documentTitle が Google フォームの UI に表示され、回答者に表示される場合があります。documentTitle は作成時に設定できますが、batchUpdate リクエストによって変更することはできません。プログラムで documentTitle を更新する必要がある場合は、Google Drive API を使用してください。

description

string

フォームの説明。

フォームの設定

フォームの設定。

JSON 表現
{
  "quizSettings": {
    object (QuizSettings)
  }
}
フィールド
quizSettings

object (QuizSettings)

テストと採点に関する設定。

テストの設定

テストと採点に関する設定。これらは UpdateSettingsRequest で更新する必要があります。

JSON 表現
{
  "isQuiz": boolean
}
フィールド
isQuiz

boolean

このフォームがテストかどうか。正の場合、回答は質問 Grading に基づいて採点されます。false に設定すると、すべての質問 Grading が削除されます。

項目

フォーム内の 1 つのアイテム。kind は、アイテムのタイプを定義します。

JSON 表現
{
  "itemId": string,
  "title": string,
  "description": string,

  // Union field kind can be only one of the following:
  "questionItem": {
    object (QuestionItem)
  },
  "questionGroupItem": {
    object (QuestionGroupItem)
  },
  "pageBreakItem": {
    object (PageBreakItem)
  },
  "textItem": {
    object (TextItem)
  },
  "imageItem": {
    object (ImageItem)
  },
  "videoItem": {
    object (VideoItem)
  }
  // End of list of possible types for union field kind.
}
フィールド
itemId

string

商品アイテム ID。

作成時に ID を指定できますが、ID をフォームで使用することはできません。指定しない場合は、新しい ID が割り当てられます。

title

string

商品アイテムのタイトル。

description

string

商品アイテムの説明

共用体フィールド kind。必須。このアイテムの種類。kind は次のいずれかになります。
questionItem

object (QuestionItem)

ユーザーに質問を投げかけます。

questionGroupItem

object (QuestionGroupItem)

主要なプロンプトを 1 つにまとめて、1 つ以上の質問をユーザーに示します。

pageBreakItem

object (PageBreakItem)

タイトル付きの新しいページを開始します。

textItem

object (TextItem)

ページにタイトルと説明を表示します。

imageItem

object (ImageItem)

ページに画像を表示します。

videoItem

object (VideoItem)

ページに動画を表示します。

質問項目

質問が 1 つのフォーム アイテム。

JSON 表現
{
  "question": {
    object (Question)
  },
  "image": {
    object (Image)
  }
}
フィールド
question

object (Question)

必須。表示される質問

image

object (Image)

質問内に表示される画像。

問題

質疑応答具体的な質問の種類は kind で知られています。

JSON 表現
{
  "questionId": string,
  "required": boolean,
  "grading": {
    object (Grading)
  },

  // Union field kind can be only one of the following:
  "choiceQuestion": {
    object (ChoiceQuestion)
  },
  "textQuestion": {
    object (TextQuestion)
  },
  "scaleQuestion": {
    object (ScaleQuestion)
  },
  "dateQuestion": {
    object (DateQuestion)
  },
  "timeQuestion": {
    object (TimeQuestion)
  },
  "fileUploadQuestion": {
    object (FileUploadQuestion)
  },
  "rowQuestion": {
    object (RowQuestion)
  }
  // End of list of possible types for union field kind.
}
フィールド
questionId

string

読み取りのみ。質問 ID。

作成時に ID を指定できますが、ID をフォームで使用することはできません。指定しない場合は、新しい ID が割り当てられます。

required

boolean

回答者が回答を送信できるようにするには、質問に回答する必要があるかどうか。

grading

object (Grading)

質問の採点設定。

共用体フィールド kind。必須。回答者に提供する質問の種類です。kind は次のいずれかになります。
choiceQuestion

object (ChoiceQuestion)

回答者は、事前定義された回答群から選択できます。

textQuestion

object (TextQuestion)

回答者は自由回答を入力できます。

scaleQuestion

object (ScaleQuestion)

回答者は範囲から数値を選択できます。

dateQuestion

object (DateQuestion)

回答者は日付を入力できます。

timeQuestion

object (TimeQuestion)

回答者は時間を入力できます。

fileUploadQuestion

object (FileUploadQuestion)

回答者は 1 つ以上のファイルをアップロードできます。

rowQuestion

object (RowQuestion)

QuestionGroupItem の行。

選択問題

ラジオボタン、チェックボックス、プルダウンに関する質問。

JSON 表現
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
フィールド
type

enum (ChoiceType)

必須。選択問題のタイプ。

options[]

object (Option)

必須。回答者が選択できるオプションのリスト。

shuffle

boolean

テストのさまざまなオプションをランダムに表示するかどうかを指定します。多くの場合、別の回答者の画面を見ている回答者が不正行為を防いだり、同じまたは複数の選択肢を提示したアンケートで偏見に対処したりするために使われます。

選択の種類

選択したタイプ。

列挙型
CHOICE_TYPE_UNSPECIFIED デフォルト値。未使用。
RADIO ラジオボタン: すべての選択肢がユーザーに提示され、選択できるのは 1 つだけです。
CHECKBOX チェックボックス: すべての選択肢がユーザーに提示され、ユーザーはその数をいくつでも選択できます。
DROP_DOWN プルダウン メニュー: 選択内容はオンデマンドでのみ表示され、それ以外の場合は現在の選択方法のみが表示されます。選択できるオプションは 1 つのみです。

オプション

選択式の質問の選択肢。

JSON 表現
{
  "value": string,
  "image": {
    object (Image)
  },
  "isOther": boolean,

  // Union field go_to_section can be only one of the following:
  "goToAction": enum (GoToAction),
  "goToSectionId": string
  // End of list of possible types for union field go_to_section.
}
フィールド
value

string

必須。ユーザーに表示される選択です。

image

object (Image)

オプションとして画像を表示します。

isOther

boolean

オプションが「その他」かどうか。現在、RADIOCHECKBOX の選択タイプにのみ適用されますが、QuestionGroupItem では使用できません。

共用体フィールド go_to_section。このオプションを選択した場合に移動するセクション。現在、RADIOSELECT の選択タイプにのみ適用されますが、QuestionGroupItem では使用できません。go_to_section は次のいずれかになります。
goToAction

enum (GoToAction)

セクションのナビゲーションの種類。

goToSectionId

string

移動するセクション ヘッダーのアイテム ID。

GoToAction

セクション ナビゲーション用の定数です。

列挙型
GO_TO_ACTION_UNSPECIFIED デフォルト値。未使用。
NEXT_SECTION 次のセクションに進みます。
RESTART_FORM フォームの先頭に戻ります。
SUBMIT_FORM すぐにフォームを送信します。

画像

画像を表すデータです。

JSON 表現
{
  "contentUri": string,
  "altText": string,
  "properties": {
    object (MediaProperties)
  },

  // Union field image_source can be only one of the following:
  "sourceUri": string
  // End of list of possible types for union field image_source.
}
フィールド
contentUri

string

出力のみ。画像をダウンロードできる URI。これは期間限定で有効です。

altText

string

カーソルを合わせたときにスクリーンリーダーによって読み取られた画像の説明。

properties

object (MediaProperties)

画像のプロパティ。

共用体フィールド image_source。画像ソースの種類。新しいイメージを作成するときに、イメージソース フィールドを 1 つだけ設定する必要があります。image_source は次のいずれかになります。
sourceUri

string

入力のみ。ソース URI は、画像の挿入に使用される URI です。取得時のソース URI は空にできます。

MediaProperties

メディアのプロパティ。

JSON 表現
{
  "alignment": enum (Alignment),
  "width": integer
}
フィールド
alignment

enum (Alignment)

メディアの位置。

width

integer

メディアの幅(ピクセル単位)です。メディアが表示されると、この値または表示されるフォームの幅のいずれかに縮小されます。メディアの元のアスペクト比は保持されます。フォームにメディアを追加する際に幅が指定されていない場合、幅はメディアソースの幅に設定されます。幅は 0 ~ 740 の範囲で指定してください。幅を 0 に設定するか、未指定にできるのは、メディアソースを更新する場合のみです。

配置

ページ上の配置。

列挙型
ALIGNMENT_UNSPECIFIED デフォルト値。未使用。
LEFT 左揃え
RIGHT 右揃え
CENTER 中央です。

質問

テキストベースの質問です。

JSON 表現
{
  "paragraph": boolean
}
フィールド
paragraph

boolean

質問が段落形式かどうか。そうでない場合、質問は短いテキストの質問です。

スケールに関する質問

スケール問題。ユーザーは幅広い数値から選択できます。

JSON 表現
{
  "low": integer,
  "high": integer,
  "lowLabel": string,
  "highLabel": string
}
フィールド
low

integer

必須。スケールの最小値。

high

integer

必須。そのスケールでの可能な最大値。

lowLabel

string

スケールの最低点を示すラベル。

highLabel

string

スケールの最高点を示すラベル。

日付に関する質問

日付に関する質問。日付に関する質問はデフォルトで [月 / 日] に設定されます。

JSON 表現
{
  "includeTime": boolean,
  "includeYear": boolean
}
フィールド
includeTime

boolean

質問に時間を含めるかどうか

includeYear

boolean

質問にその年を含めるかどうか。

時間に関する質問

時間の問題です。

JSON 表現
{
  "duration": boolean
}
フィールド
duration

boolean

true: 質問が経過時間に関するものである場合。それ以外の場合は、時間帯が対象となります。

ファイル アップロードの質問

ファイルのアップロードに関する質問。現在、この API はファイルのアップロードを必要とする質問の作成をサポートしていません。

JSON 表現
{
  "folderId": string,
  "types": [
    enum (FileType)
  ],
  "maxFiles": integer,
  "maxFileSize": string
}
フィールド
folderId

string

必須。アップロードしたファイルが保存されているドライブ フォルダの ID。

types[]

enum (FileType)

このファイル形式で許可されるファイル形式。

maxFiles

integer

この質問で 1 つの回答でアップロードできるファイルの最大数。

maxFileSize

string (int64 format)

この質問にアップロードできる、1 つのファイルの最大許容バイト数です。

FileType

ファイルのアップロード形式の質問にアップロード可能なファイル形式。

列挙型
FILE_TYPE_UNSPECIFIED デフォルト値。未使用。
ANY タイプに関する制限はありません。
DOCUMENT Google ドキュメントのドキュメント。
PRESENTATION Google スライドのプレゼンテーション。
SPREADSHEET Google スプレッドシート
DRAWING 図形描画。
PDF PDF。
IMAGE 画像。
VIDEO 動画
AUDIO 音声ファイル。

RowQuestion

質問グループに含まれる質問の設定。

JSON 表現
{
  "title": string
}
フィールド
title

string

必須。QuestionGroupItem 内の 1 行のタイトル。

採点

1 つの質問の採点

JSON 表現
{
  "pointValue": integer,
  "correctAnswers": {
    object (CorrectAnswers)
  },
  "whenRight": {
    object (Feedback)
  },
  "whenWrong": {
    object (Feedback)
  },
  "generalFeedback": {
    object (Feedback)
  }
}
フィールド
pointValue

integer

必須。回答者が正解に対して自動的に取得する最大点数。負の値は使用できません。

correctAnswers

object (CorrectAnswers)

必須。質問の解答集です。回答は、この項目に基づいて自動的に評価されます。

whenRight

object (Feedback)

正解に対し表示されるフィードバック。このフィードバックを設定できるのは、多肢選択式の問題で正解を提供している問題のみです。

whenWrong

object (Feedback)

不正解に対するフィードバックが表示されます。このフィードバックを設定できるのは、多肢選択式の問題で正解を提供している問題のみです。

generalFeedback

object (Feedback)

すべての回答に対して表示されるフィードバック。正誤問題: クイズのオーナーが回答を正式に採点する前に、正解したかどうかをすぐに確認できる場合に、短い回答の質問で使用されます。自動採点式の多肢選択式問題では、一般的なフィードバックを設定することはできません。

正解

質問の解答集です。

JSON 表現
{
  "answers": [
    {
      object (CorrectAnswer)
    }
  ]
}
フィールド
answers[]

object (CorrectAnswer)

正解のリスト。テストの回答を、これらの回答に基づいて自動的に採点できます。単一値の場合、リスト内の値に一致する回答に正解のマークが付きます(つまり、複数回答できる可能性があります)。複数の値を持つ(CHECKBOX)質問で、このリスト内の値を正確に含むレスポンスは正解になります。

正解

質問に対する 1 つの正解。複数の値を持つ(CHECKBOX)質問の場合、1 つの正しい回答オプションを表すために複数の CorrectAnswer が必要になる場合があります。

JSON 表現
{
  "value": string
}
フィールド
value

string

必須。正解の値。さまざまな値の型の形式については、TextAnswer.value のドキュメントをご覧ください。

質問グループ項目

複数の質問から成る質問を定義します。

JSON 表現
{
  "questions": [
    {
      object (Question)
    }
  ],
  "image": {
    object (Image)
  },

  // Union field kind can be only one of the following:
  "grid": {
    object (Grid)
  }
  // End of list of possible types for union field kind.
}
フィールド
questions[]

object (Question)

必須。この質問グループに属する質問のリスト。質問は 1 つのグループにのみ属すことができます。グループの kind は、許可される質問の種類に影響する場合があります。

image

object (Image)

質問グループ内で特定の質問の上に表示される画像。

共用体フィールド kind。必須。質問グループの種類。許可する質問の種類と表示方法を指定します。kind は次のいずれかになります。
grid

object (Grid)

質問グループは複数の選択肢から成るグリッドで、選択肢は同じです。grid が設定されている場合、グループ内のすべての質問の種類が row でなければなりません。

グリッド

選択項目のグリッド(ラジオボタンまたはチェックボックス)。各行に別々の質問を構成します。各行には同じ選択肢があり、列として表示されます。

JSON 表現
{
  "columns": {
    object (ChoiceQuestion)
  },
  "shuffleQuestions": boolean
}
フィールド
columns

object (ChoiceQuestion)

必須。選択項目は、グリッド内の各質問で共有されます。つまり、列の値です。使用できる選択肢は、CHECK_BOX 個と RADIO 個のみです。

shuffleQuestions

boolean

true の場合、質問はランダムに並べられます。つまり、回答者ごとに行の順序が変わります。

PageBreakItem

改ページこのアイテムのタイトルと説明は、新しいページの上部に表示されます。

テキスト アイテム

テキスト アイテム。

画像アイテム

画像を含むアイテム。

JSON 表現
{
  "image": {
    object (Image)
  }
}
フィールド
image

object (Image)

必須。アイテムに表示される画像。

動画アイテム

動画を含むアイテム。

JSON 表現
{
  "video": {
    object (Video)
  },
  "caption": string
}
フィールド
video

object (Video)

必須。アイテムに表示される動画。

caption

string

動画の下に表示されるテキスト。

動画

動画を表すデータです。

JSON 表現
{
  "youtubeUri": string,
  "properties": {
    object (MediaProperties)
  }
}
フィールド
youtubeUri

string

必須。YouTube URI。

properties

object (MediaProperties)

動画のプロパティ。

Methods

batchUpdate

フォームをバッチ アップデートで変更します。

create

リクエストで指定されたフォーム メッセージに記載されているタイトルを使用して、新しいフォームを作成します。

get

フォームを取得する。