일련의 업데이트 요청을 적용하여 단일 라벨을 업데이트하면 새 초안 버전이 생성됩니다. 예를 들어 기존 라벨 속성 (라벨 설명)을 업데이트하거나 라벨에 새 Field
를 추가할 수 있습니다.
이 메서드는 업데이트 Request
객체 목록을 가져오므로 라벨 업데이트는 일괄 업데이트 역할을 합니다. 일괄 요청에 지정된 순서에 따라 업데이트합니다. 일괄 업데이트의 업데이트는 원자적으로 적용됩니다. 즉, 일괄 처리의 요청이 실패하면 전체 업데이트가 실패하고 (잠재적으로 종속된) 변경사항이 적용되지 않습니다. 라벨은 변경되지 않습니다.
업데이트가 완료되면 Drive 항목에서 변경사항을 사용하려면 결과 초안 버전을 게시해야 합니다.
라벨 객체 업데이트
라벨에는 다음과 같이 업데이트할 수 있는 다른 많은 객체 유형이 포함됩니다.
- 라벨 속성
- 필드 및 필드 유형
- 선택 항목 및 선택 항목 속성
다음은 라벨의 모양과 작동을 제어하는 여러 객체 중 일부입니다.
작업 카테고리
labels.delta
메서드에서 지원하는 다음 작업은 다음과 같은 광범위한 카테고리로 그룹화할 수 있습니다.
카테고리 | 설명 |
---|---|
만들기 | 객체를 추가합니다. |
업데이트 | 객체의 특정 속성을 업데이트합니다. |
사용 설정 | 객체를 사용 설정합니다. |
사용 중지 | 객체를 사용 중지합니다. |
삭제 | 객체를 삭제합니다. |
이러한 범주는 다음 섹션에서 특정 작업의 동작을 설명하는 데 사용됩니다.
업데이트 요청
labels.delta
메서드는 하나 이상의 Request 객체를 취하며, 각 객체는 수행할 단일 유형의 요청을 지정합니다. 요청에는 다양한 유형이 있습니다. 다음은 서로 다른 카테고리로 그룹화한 요청 유형입니다.
필드 마스크
많은 '업데이트' 및 '사용 중지' 유형 요청에는 FieldMask
가 필요합니다.
이는 업데이트하려는 필드의 쉼표로 구분된 목록으로, 다른 필드는 변경하지 않습니다. 마스크는 수정하려는 필드만 업데이트되도록 보장하는 데 필요합니다. 필드를 하나 이상 지정해야 합니다.
예
라벨을 업데이트하려면 labels
컬렉션에서 delta
메서드를 사용합니다.
다음도 지정해야 합니다.
useAdminAccess
는 사용자의 관리자 사용자 인증 정보를 사용하는true
입니다. 서버는 사용자가 라벨의 관리자인지 확인한 후 액세스를 허용합니다.라벨에 적용할 업데이트를 지정하는
Request
입니다.property
메서드를 통한 라벨title
하나 이상의
Field
.모든 라벨을 나타내는 라벨 리소스입니다. 리소스
Name
및ID
(라벨의 전역 고유 식별자)가 포함됩니다.LabelView
는 라벨 응답에 적용된 리소스 뷰를 설정하는LABEL_VIEW_FULL
입니다.LABEL_VIEW_FULL
는 가능한 모든 필드를 반환합니다.
이 예에서는 ID
를 사용하여 올바른 라벨을 업데이트합니다.
Python
body = {
'use_admin_access': True,
'requests': [{
'update_label': {
'properties': {
'title': 'TITLE'
},
'update_mask': {
'paths': ['title']
}
},
}, {
'create_field': {
'field': {
'properties': {
'display_name': 'DISPLAY_NAME'
},
'text_options': {}
}
}
}],
'view': 'LABEL_VIEW_FULL'
}
response = service.labels().delta(
body=body,
name='labels/ID').execute()
Node.js
var body = {
'use_admin_access': true,
'requests': [{
'update_label': {
'properties': {
'title': 'TITLE'
},
'update_mask': {
'paths': ['title']
}
},
}, {
'create_field': {
'field': {
'properties': {
'display_name': 'DISPLAY_NAME'
},
'text_options': {}
}
}
}],
'view': 'LABEL_VIEW_FULL'
};
service.labels.delta({
'resource': body,
'name': 'labels/ID'
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
라벨, 필드 또는 선택사항이 업데이트되고 라벨의 버전 ID가 증가하며 라벨이 데이터베이스에 라벨 초안으로 저장됩니다. 라벨에 PUBLISHED
의 State
가 있으며 hasUnpublishedChanges=true
는 초안 변경사항이 있지만 사용자가 사용할 수 없음을 의미합니다. 변경사항이 사용자에게 표시되려면 업데이트된 라벨이 PUBLISHED
여야 합니다. 자세한 내용은 라벨 수명 주기를 참고하세요.