Method: forms.batchUpdate

일괄 업데이트를 사용하여 양식을 변경합니다.

HTTP 요청

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

URL은 gRPC 트랜스코딩 문법을 사용합니다.

경로 매개변수

매개변수
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)

필수입니다. 이 마스크에 이름이 지정된 값만 변경됩니다. 하나 이상의 필드를 지정해야 합니다. 루트 info는 암시되며 지정해서는 안 됩니다. 단일 "*"는 모든 필드를 업데이트하는 방법으로 사용할 수 있습니다.

정규화된 필드 이름의 쉼표로 구분된 목록입니다. 예: "user.displayName,photo"

UpdateSettingsRequest

양식의 FormSettings를 업데이트합니다.

JSON 표현
{
  "settings": {
    object (FormSettings)
  },
  "updateMask": string
}
필드
settings

object (FormSettings)

필수입니다. 업데이트할 설정입니다.

updateMask

string (FieldMask format)

필수입니다. 이 마스크에 이름이 지정된 값만 변경됩니다. 하나 이상의 필드를 지정해야 합니다. 루트 settings는 암시되며 지정해서는 안 됩니다. 단일 "*"는 모든 필드를 업데이트하는 방법으로 사용할 수 있습니다.

정규화된 필드 이름의 쉼표로 구분된 목록입니다. 예: "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가 생성됩니다. 즉, 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가 나열됩니다.