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(不正なリクエスト エラー)が返されます。リクエストは、フォームの最新バージョンの読み取り後に再試行できます。ほとんどの場合、ターゲット リビジョン 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 がリストされます。