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가 나열됩니다.