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 が空白(かつフィールド マスク内)の場合、新しい 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 は読み取り後数分間は有効ですが、頻繁に編集されるフォームでは、この時間が短くなる場合があります。

レスポンス

アップデートに対する 1 つのレスポンス。

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 がリストされます。