Method: forms.batchUpdate

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

HTTP リクエスト

POST https://forms.googleapis.com/v1/forms/{formId}:batchUpdate

この URL は gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
formId

string

必須。フォーム ID。

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "includeFormInResponse": boolean,
  "requests": [
    {
      object (Request)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
フィールド
includeFormInResponse

boolean

レスポンスでモデルの更新版を返すかどうか。

requests[]

object (Request)

必須。このバッチの更新リクエスト。

writeControl

object (WriteControl)

書き込みリクエストの実行方法を制御します。

レスポンスの本文

BatchUpdateFormRequest へのレスポンス。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

JSON 表現
{
  "form": {
    object (Form)
  },
  "replies": [
    {
      object (Response)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
フィールド
form

object (Form)

ブール値リクエスト フィールド includeFormInResponse に基づいて、適用されたすべてのミューテーション/更新を含むフォームが返されるかどうかが決まります。これは、これらの変更によって作成されたリビジョン ID よりも後になる場合があります。

replies[]

object (Response)

更新の返信。これは更新リクエストと 1 対 1 で対応しますが、一部のリクエストへの返信は空になる場合があります。

writeControl

object (WriteControl)

リクエストの適用後に更新された書き込み制御。

認可スコープ

以下のいずれかの OAuth スコープが必要です。

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/forms.body

詳しくは、認可ガイドをご覧ください。

リクエスト

実行できる更新リクエストの種類。

JSON 表現
{

  // Union field kind can be only one of the following:
  "updateFormInfo": {
    object (UpdateFormInfoRequest)
  },
  "updateSettings": {
    object (UpdateSettingsRequest)
  },
  "createItem": {
    object (CreateItemRequest)
  },
  "moveItem": {
    object (MoveItemRequest)
  },
  "deleteItem": {
    object (DeleteItemRequest)
  },
  "updateItem": {
    object (UpdateItemRequest)
  }
  // End of list of possible types for union field kind.
}
フィールド
共用体フィールド kind。リクエストの種類。kind は次のいずれかになります。
updateFormInfo

object (UpdateFormInfoRequest)

フォームの情報を更新します。

updateSettings

object (UpdateSettingsRequest)

フォームの設定を更新します。

createItem

object (CreateItemRequest)

新しい項目を作成します。

moveItem

object (MoveItemRequest)

アイテムを指定された場所に移動します。

deleteItem

object (DeleteItemRequest)

アイテムを削除します。

updateItem

object (UpdateItemRequest)

アイテムを更新します。

UpdateFormInfoRequest

フォームの情報を更新します。

JSON 表現
{
  "info": {
    object (Info)
  },
  "updateMask": string
}
フィールド
info

object (Info)

更新する情報。

updateMask

string (FieldMask format)

必須。このマスクで指定された値のみが変更されます。少なくとも 1 つのフィールドを指定する必要があります。ルート info は暗黙的に指定されるため、指定する必要はありません。1 つの "*" は、すべてのフィールドを更新するための省略形として使用できます。

完全修飾フィールド名のカンマ区切りリスト。例: "user.displayName,photo"

UpdateSettingsRequest

フォームの FormSettings を更新します。

JSON 表現
{
  "settings": {
    object (FormSettings)
  },
  "updateMask": string
}
フィールド
settings

object (FormSettings)

必須。更新する設定。

updateMask

string (FieldMask format)

必須。このマスクで指定された値のみが変更されます。少なくとも 1 つのフィールドを指定する必要があります。ルート settings は暗黙的に指定されるため、指定する必要はありません。1 つの "*" は、すべてのフィールドを更新するための省略形として使用できます。

完全修飾フィールド名のカンマ区切りリスト。例: "user.displayName,photo"

CreateItemRequest

フォームに項目を作成する。

JSON 表現
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  }
}
フィールド
item

object (Item)

必須。作成するアイテム。

location

object (Location)

必須。新しいアイテムを配置する場所。

場所

フォーム内の特定の場所。

JSON 表現
{

  // Union field where can be only one of the following:
  "index": integer
  // End of list of possible types for union field where.
}
フィールド
共用体フィールド where。必須。フォームで場所を指定します。where は次のいずれかになります。
index

integer

フォーム内の項目のインデックス。これは、

[0..N)

で、N はフォーム内のアイテム数です。

MoveItemRequest

フォーム内の項目を移動する。

JSON 表現
{
  "originalLocation": {
    object (Location)
  },
  "newLocation": {
    object (Location)
  }
}
フィールド
originalLocation

object (Location)

必須。移動するアイテムの場所。

newLocation

object (Location)

必須。アイテムの新しい場所。

DeleteItemRequest

フォーム内の項目を削除する。

JSON 表現
{
  "location": {
    object (Location)
  }
}
フィールド
location

object (Location)

必須。削除するアイテムの場所。

UpdateItemRequest

フォーム内の項目を更新する。

JSON 表現
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  },
  "updateMask": string
}
フィールド
item

object (Item)

必須。項目の新しい値。アイテム ID と質問 ID は、指定されている場合(フィールド マスク内にある場合)に使用されます。ID が空白の場合(フィールド マスク内にある場合)、新しい ID が生成されます。つまり、forms.get を使用してフォームを取得し、そのアイテムのローカルコピーを希望どおりに変更して、UpdateItemRequest を使用して書き戻すことで、アイテムを変更できます。ID は同じ(またはフィールド マスクにない)にする必要があります。

location

object (Location)

必須。更新するアイテムを識別するロケーション。

updateMask

string (FieldMask format)

必須。このマスクで指定された値のみが変更されます。

完全修飾フィールド名のカンマ区切りリスト。例: "user.displayName,photo"

WriteControl

書き込みリクエストの実行方法を制御します。

JSON 表現
{

  // Union field control can be only one of the following:
  "requiredRevisionId": string,
  "targetRevisionId": string
  // End of list of possible types for union field control.
}
フィールド
共用体フィールド control。変更を適用するフォームのリビジョンと、そのリビジョンがフォームの現在のリビジョンでない場合のリクエストの動作を決定します。control は次のいずれかになります。
requiredRevisionId

string

書き込みリクエストが適用されるフォームのリビジョン ID。フォームの最新リビジョンでない場合、リクエストは処理されず、400 エラーが返されます。

targetRevisionId

string

書き込みリクエストが適用されるフォームのターゲット リビジョン ID。

このリビジョン後に変更が加えられた場合、この更新リクエストの変更は、それらの変更に対して変換されます。これにより、リクエストの変更とその間の変更の両方が組み込まれたフォームの新しいリビジョンが作成され、サーバーが競合する変更を解決します。

ターゲット リビジョン ID は、フォームの最新バージョンへの書き込みにのみ使用できます。ターゲット リビジョンが最新のリビジョンから大幅に遅れている場合、リクエストは処理されず、400(Bad Request エラー)が返されます。最新バージョンのフォームを読み込んだ後、リクエストが再試行される場合があります。ほとんどの場合、ターゲット リビジョン ID は読み取り後数分間有効ですが、頻繁に編集されるフォームの場合は、この期間が短くなることがあります。

レスポンス

更新からの単一のレスポンス。

JSON 表現
{

  // Union field kind can be only one of the following:
  "createItem": {
    object (CreateItemResponse)
  }
  // End of list of possible types for union field kind.
}
フィールド
共用体フィールド kind。レスポンスの種類。kind は次のいずれかになります。
createItem

object (CreateItemResponse)

アイテムの作成結果。

CreateItemResponse

アイテムの作成結果。

JSON 表現
{
  "itemId": string,
  "questionId": [
    string
  ]
}
フィールド
itemId

string

作成されたアイテムの ID。

questionId[]

string

このアイテムの一部として作成された質問の ID。質問グループの場合は、このアイテム用に作成されたすべての質問の ID が一覧表示されます。