Bu sayfada, tek bir Google Drive dosyasında etiketin nasıl kaldırılacağı açıklanmaktadır.
Field
Bir dosya etiketini kaldırarak dosyadan meta verileri kaldırmak için files.modifyLabels
yöntemini kullanın. Bir dosyadaki etiketler kümesini değiştirmek için istek metni, ModifyLabelsRequest
öğesinin bir örneğini içerir. İstek, atomik olarak uygulanan çeşitli değişiklikler içerebilir. Yani, değişikliklerden herhangi biri geçerli değilse güncellemenin tamamı başarısız olur ve (birbirine bağlı olabilecek) değişikliklerin hiçbiri uygulanmaz.
ModifyLabelsRequest
, bir dosyadaki etikette yapılan değişiklik olan LabelModification
örneği içeriyor. Ayrıca, bir etiketin alanında yapılan değişikliği gösteren bir 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
metni, istek tarafından eklenen veya güncellenen etiketleri içerir. Bunlar, Label
türünde bir modifiedLabels
nesnesi içinde bulunur.
Örnek
Aşağıdaki kod örneğinde, ilişkili fileId
üzerindeki alan değerlerini ayarlamamak için fieldId
ve labelId
öğelerinin nasıl kullanılacağı gösterilmektedir. Örneğin, bir etikette hem metin hem de kullanıcı alanları varsa metin alanının işaretini kaldırdığınızda bu alan etiketten kaldırılır ancak kullanıcı alanı değiştirilmez. Etiketin kaldırılması ise etiketle ilişkili metin ve kullanıcı alanlarının her ikisini de siler. Daha fazla bilgi için 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
.fieldId
öğesini bulmak için Google Drive Labels API'yi kullanarak etiketi alın. - LABEL_ID: Değiştirilecek etiketin
labelId
. - FILE_ID: Etiketlerin değiştirildiği dosyanın
fileId
.