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

情報

フォームの一般情報。

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 が削除されます。

項目

フォームの単一の項目。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 が割り当てられます。

title

string

アイテムのタイトル。

description

string

商品アイテムの説明。

共用体フィールド kind。必須。アイテムの種類。kind には次のいずれか 1 つだけを指定できます。
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)
  },
  "ratingQuestion": {
    object (RatingQuestion)
  }
  // End of list of possible types for union field kind.
}
フィールド
questionId

string

読み取り専用。質問 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 の行。

ratingQuestion

object (RatingQuestion)

回答者は、事前定義された一連のアイコンから評価を選択できます。

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 つの行のタイトル。

RatingQuestion

評価に関する質問。ユーザーはさまざまなアイコンから選択できます。

JSON 表現
{
  "ratingScaleLevel": integer,
  "iconType": enum (RatingIconType)
}
フィールド
ratingScaleLevel

integer

必須。評価質問の段階別評価レベル。

iconType

enum (RatingIconType)

必須。評価に使用するアイコンのタイプ。

RatingIconType

評価に使用するアイコンのタイプ。

列挙型
RATING_ICON_TYPE_UNSPECIFIED デフォルト値。未使用。
STAR スターアイコン。
HEART ハートのアイコン。
THUMB_UP 親指を下に向けた手のアイコン。

採点

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)

動画のプロパティ。

メソッド

batchUpdate

一括更新でフォームを変更する。

create

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

get

フォームを取得します。