Bu sayfada, tek bir Google Drive dosyasında etiketin Field
nasıl kaldırılacağı açıklanmaktadır.
Dosya etiketini kaldırarak bir dosyadaki meta verileri kaldırmak için files.modifyLabels
yöntemini kullanın. İstek metni, bir dosyadaki etiket kümesini değiştirmek için ModifyLabelsRequest
öğesinin bir örneğini içerir. İstek, atomik olarak uygulanan birkaç değişiklik içerebilir. Yani, herhangi bir değişiklik geçerli değilse güncellemenin tamamı başarısız olur ve (bağlı olabilecek) değişikliklerin hiçbiri uygulanmaz.
ModifyLabelsRequest
, bir dosyanın etiketinde yapılan bir değişiklik olan LabelModification
örneği içerir. Ayrıca, bir etiketin alanında yapılan bir değişiklik olan FieldModification
örneği de içerebilir. Alanın değerlerini kaldırmak için FieldModification.unsetValues
değerini True
olarak ayarlayın.
Başarılı olursa yanıt gövdesi, istek tarafından eklenen veya güncellenen etiketleri içerir. Bunlar, Label
türündeki bir modifiedLabels
nesnesinde bulunur.
Örnek
Aşağıdaki kod örneğinde, ilişkili fileId
üzerindeki alan değerlerinin ayarını kaldırmak için fieldId
ve labelId
işlevlerinin nasıl kullanılacağı gösterilmektedir. Örneğin, bir etiket hem metin hem de kullanıcı alanları içeriyorsa metin alanının ayarı kaldırılırsa metin etiketten kaldırılır ancak kullanıcı alanına dokunulmaz. Bir etiketi kaldırdığınızda ise etiketle ilişkili metin ve kullanıcı alanları hemen silinir. Daha fazla bilgi için Bir dosyadan etiket kaldırma başlıklı makaleyi inceleyin.
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;
}
}
Aşağıdakini değiştirin:
- FIELD_ID: Değiştirilecek alanın
fieldId
değeri.fieldId
değerini bulmak için Google Drive Labels API'yi kullanarak etiketi alın. - LABEL_ID: Değiştirilecek etiketin
labelId
değeri. - FILE_ID: Etiketlerinin değiştirildiği dosyanın
fileId
değeri.