หน้านี้จะอธิบายวิธีนำป้ายกำกับออกจากไฟล์ Google ไดรฟ์ไฟล์เดียว
หากต้องการนำข้อมูลเมตาของป้ายกำกับไฟล์ออกจากไฟล์ ให้ใช้เมธอด files.modifyLabels
เนื้อหาของคำขอมีอินสแตนซ์ของ ModifyLabelsRequest
สำหรับแก้ไขชุดป้ายกำกับในไฟล์ คำขออาจมีการแก้ไขหลายอย่างที่นำไปใช้ในแบบอะตอม กล่าวคือ หากการแก้ไขใดไม่ถูกต้อง หมายความว่าการอัปเดตทั้งหมดจะไม่สำเร็จ และไม่มีการเปลี่ยนแปลงใดๆ (ที่อาจ
ขึ้นอยู่กับ) เกิดขึ้น
ModifyLabelsRequest
มีอินสแตนซ์ของ LabelModification
ซึ่งเป็นการแก้ไขป้ายกำกับในไฟล์ และอาจมีอินสแตนซ์ของ FieldModification
ซึ่งเป็นการแก้ไขช่องของป้ายกำกับ หากต้องการนำป้ายกำกับออกจากไฟล์
ให้ตั้งค่า FieldModification.removeLabel
เป็น True
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีป้ายกำกับที่เพิ่มหรืออัปเดตตามคำขอ รายการเหล่านี้อยู่ในออบเจ็กต์ modifiedLabels
ประเภท Label
ตัวอย่าง
ตัวอย่างโค้ดต่อไปนี้จะแสดงวิธีใช้ labelId
เพื่อนำช่องทั้งหมดที่เชื่อมโยงกับป้ายกำกับออกโดยใช้ fileId
เช่น หากป้ายกำกับมีทั้งช่องข้อความและผู้ใช้ การนำป้ายกำกับออกจะลบทั้งช่องข้อความและผู้ใช้ที่เชื่อมโยงกับป้ายกำกับ ในขณะที่การยกเลิกการตั้งค่าช่องข้อความจะนำช่อง
ออกจากป้ายกำกับ แต่ไม่ได้แตะช่องผู้ใช้ ดูข้อมูลเพิ่มเติมได้ที่ยกเลิกการตั้งค่าช่องป้ายกำกับในไฟล์
Java
ModifyLabelsRequest modifyLabelsRequest =
new ModifyLabelsRequest()
.setLabelModifications(
ImmutableList.of(
new LabelModification()
.setLabelId("LABEL_ID")
.setRemoveLabel(true)));
ModifyLabelsResponse modifyLabelsResponse = driveService.files().modifyLabels("FILE_ID", modifyLabelsRequest).execute();
Python
label_modification = {'labelId':'LABEL_ID', 'removeLabel': True]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute();
Node.js
/**
* Remove a label on a Drive file
* @return{obj} updated label data
**/
async function removeLabel() {
// 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 labelModification = {
'labelId': 'LABEL_ID',
'removeLabel': True,
};
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;
}
แทนที่รายการต่อไปนี้
- LABEL_ID:
labelId
ของป้ายกำกับที่จะแก้ไข หากต้องการค้นหาป้ายกำกับในไฟล์ ให้ใช้เมธอดfiles.listLabels
- FILE_ID:
fileId
ของไฟล์ที่มีการแก้ไขป้ายกำกับ