หน้านี้จะอธิบายวิธียกเลิกการตั้งค่าป้ายกำกับ
Field
ต่อซิงเกิล
ไฟล์ Google ไดรฟ์
หากต้องการนำข้อมูลเมตาออกจากไฟล์โดยยกเลิกการตั้งค่าป้ายกำกับไฟล์ ให้ใช้เมธอด
files.modifyLabels
เนื้อหาคำขอ
มีอินสแตนซ์ของ
ModifyLabelsRequest
เพื่อแก้ไขชุดป้ายกำกับในไฟล์ คำขออาจมี
การเปลี่ยนแปลงต่างๆ ที่นำไปใช้ในอะตอม กล่าวคือ หากการแก้ไขใดไม่ได้รับ
การอัปเดตทั้งหมดนั้นไม่สำเร็จ และไม่มีบริการใด (
ขึ้นต่อกัน) การเปลี่ยนแปลงจะถูกนำไปใช้
ModifyLabelsRequest
มีอินสแตนซ์ของ
LabelModification
ซึ่งเป็นการแก้ไขป้ายกำกับในไฟล์ และอาจมีอินสแตนซ์
จาก
FieldModification
ซึ่งเป็นการแก้ไขช่องของป้ายกำกับ หากต้องการยกเลิกการตั้งค่าของช่อง
ตั้งค่า FieldModification.unsetValues
เป็น True
ถ้าสำเร็จ การตอบกลับ
เนื้อหาประกอบด้วย
ป้ายกำกับที่เพิ่มหรืออัปเดตตามคำขอ ซึ่งมีอยู่ใน
ออบเจ็กต์ modifiedLabels
ประเภท Label
ตัวอย่าง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ fieldId
และ labelId
เพื่อยกเลิกการตั้งค่า
ค่าของช่องใน fileId
ที่เชื่อมโยง ตัวอย่างเช่น หากป้ายกำกับมี
ทั้งฟิลด์ข้อความและฟิลด์ผู้ใช้ การยกเลิกการตั้งค่าฟิลด์ข้อความจะเป็นการนำฟิลด์ออกจากป้ายกำกับ
แต่ไม่ต้องดำเนินการใดๆ กับฟิลด์ผู้ใช้ ส่วนการนำป้ายกำกับออกจะเป็นการลบทั้งคู่
ข้อความและช่องผู้ใช้ที่เชื่อมโยงกับป้ายกำกับ สำหรับข้อมูลเพิ่มเติม โปรดดู
นำป้ายกำกับออกจากไฟล์
Java
LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setUnsetValues(true);
ModifyLabelsRequest modifyLabelsRequest =
new ModifyLabelsRequest()
.setLabelModifications(
ImmutableList.of(
new LabelModification()
.setLabelId("LABEL_ID")
.setFieldModifications(ImmutableList.of(fieldModification))));
ModifyLabelsResponse modifyLabelsResponse = driveService.files().modifyLabels("FILE_ID", modifyLabelsRequest).execute();
Python
field_modification = {'fieldId':'FIELD_ID','unsetValues':True}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute();
Node.js
/**
* Unset a label with a field on a Drive file
* @return{obj} updated label data
**/
async function unsetLabelField() {
// Get credentials and build service
// TODO (developer) - Use appropriate auth mechanism for your app
const {GoogleAuth} = require('google-auth-library');
const {google} = require('googleapis');
const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
const service = google.drive({version: 'v3', auth});
const fieldModification = {
'fieldId': 'FIELD_ID',
'unsetValues': True,
};
const labelModification = {
'labelId': 'LABEL_ID',
'fieldModifications': [fieldModification],
};
const labelModificationRequest = {
'labelModifications': [labelModification],
};
try {
const updateResponse = await service.files.modifyLabels({
fileId: 'FILE_ID',
resource: labelModificationRequest,
});
return updateResponse;
} catch (err) {
// TODO (developer) - Handle error
throw err;
}
}
โดยแทนที่ค่าต่อไปนี้
- FIELD_ID:
fieldId
ของช่องที่จะแก้ไข หากต้องการค้นหาfieldId
ให้ดึงป้ายกำกับโดยใช้ Google Drive Labels API - LABEL_ID:
labelId
ของป้ายกำกับที่จะแก้ไข - FILE_ID:
fileId
ของไฟล์ที่มีป้ายกำกับ แก้ไขแล้ว