Bu sayfada, tek bir Google Drive dosyasındaki Field
etiketinin ayarının nasıl kaldırılacağı açıklanmaktadır.
Dosya etiketi ayarını kaldırarak dosyadan meta verileri kaldırmak için files.modifyLabels
yöntemini kullanın. İstek gövdesi, bir dosyadaki etiket grubunu değiştirmek için ModifyLabelsRequest
öğesinin bir örneğini içerir. İstek, anatomik olarak uygulanan çeşitli değişiklikler içerebilir. Diğer bir deyişle, geçerli olmayan değişiklikler varsa güncellemenin tamamı başarısız olur ve (muhtemelen bağımlı olabilecek) değişikliklerin hiçbiri uygulanmaz.
ModifyLabelsRequest
, bir dosyadaki etikette yapılan değişiklik olan LabelModification
örneğini içerir. Ayrıca, bir etiketin alanında yapılan değişiklik olan FieldModification
örneğini de içerebilir. Alandaki değerleri 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
nesnesi içinde bulunur.
Örnek
Aşağıdaki kod örneğinde, ilişkilendirilen fileId
öğesinde alan değerlerinin ayarını kaldırmak için fieldId
ve labelId
değerlerinin nasıl kullanılacağı gösterilmektedir. Örneğin, bir etiket hem metin hem de kullanıcı alanı içeriyorsa metin alanının ayarlanması kaldırıldığında etiketten kaldırılır ancak kullanıcı alanına dokunulmaz. Öte yandan, bir etiket kaldırıldığında etiketle ilişkili metin ve kullanıcı alanları silinir. Daha fazla bilgi için Dosyadan etiket kaldırma bölümüne bakın.
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ğeridir.fieldId
öğesini bulmak için Google Drive Tagging API'yi kullanarak etiketi alın. - LABEL_ID: Değiştirilecek etiketin
labelId
değeridir. - FILE_ID: Etiketlerin değiştirildiği dosyanın
fileId
öğesi.