หน้านี้จะอธิบายวิธีเลิกตั้งค่าป้ายกำกับ
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
ของไฟล์ที่มีการแก้ไขป้ายกำกับ