REST Resource: forms

リソース: フォーム

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 スプレッドシート(そのようなスプレッドシートが存在する場合)。

情報

フォームの一般的な情報。

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

string

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

documentTitle

string

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

description

string

フォームの説明。

FormSettings

フォームの設定。

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

object (QuizSettings)

テストのフォームと採点に関連する設定。

QuizSettings

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

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

boolean

このフォームがクイズかどうか。true の場合、質問 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)

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

QuestionItem

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 の行。

ChoiceQuestion

ラジオボタン/チェックボックス/プルダウンの質問。

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

enum (ChoiceType)

必須。選択式の質問。

options[]

object (Option)

必須。回答者が選択できる選択肢のリスト。

shuffle

boolean

クイズのインスタンスごとにオプションをランダムな順序で表示するかどうかを指定します。これは、別の回答者の画面を見ている回答者による不正行為を防止したり、常に同じ選択肢を最初または最後に置くことで生じる可能性があるアンケートのバイアスに対処したりする目的でよく使用されます。

ChoiceType

選択肢のタイプ。

列挙型
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 も提供しています。

TextQuestion

テキストベースの質問。

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

boolean

段落形式の質問かどうかを指定します。それ以外の場合は、短いテキスト形式の質問になります。

ScaleQuestion

スケールに関する質問。ユーザーは数値の範囲を選択できます。

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

integer

必須。尺度に指定できる最小値。

high

integer

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

lowLabel

string

体重計の最下点を説明するラベルです。

highLabel

string

体重計の最高点を説明するラベルです。

DateQuestion

日付に関する質問。日付の質問は、デフォルトでは月と日のみに設定されています。

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

boolean

質問に時刻を含めるかどうかを指定します。

includeYear

boolean

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

TimeQuestion

時刻に関する質問。

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

boolean

経過時間に関する質問の場合は true。それ以外の場合は、だいたいの時刻です。

FileUploadQuestion

ファイルのアップロードに関する質問。現在のところ、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)

すべての回答に対して表示されるフィードバック。これは一般に、記述式問題で、質問のオーナーが回答を正式に採点する前に、正解かどうかを回答者にすばやく伝えたい場合に使用します。自動的に採点される多肢選択式の質問には、全般的なフィードバックを設定できません。

CorrectAnswers

質問の解答集。

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

object (CorrectAnswer)

正解のリスト。テストの回答は、その回答に基づいて自動的に採点されます。単一値の質問の場合、このリストのいずれかの値に一致する回答は正解とマークされます(つまり、複数の正解が可能な場合)。複数値(CHECKBOX)の質問で、このリストの値と完全に一致する回答がある場合、その回答は正解とマークされます。

CorrectAnswer

質問に対する 1 つの正解。複数値(CHECKBOX)を持つ質問の場合、1 つの正解の選択肢を表すために複数の CorrectAnswer が必要になる場合があります。

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

string

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

QuestionGroupItem

複数の質問がグループ化された質問を定義します。

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_BOXRADIO のみです。

shuffleQuestions

boolean

true の場合、質問はランダムに並べ替えられます。つまり、回答者ごとに行の順序が異なるということです。

PageBreakItem

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

TextItem

テキスト項目。

ImageItem

画像を含むアイテム。

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

object (Image)

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

VideoItem

動画を含むアイテム。

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

フォームを取得する。