Bu sayfada, tek bir Google Drive dosyasındaki Field
etiketinin nasıl kaldırılacağı açıklanmaktadır.
Dosya etiketinin ayarını kaldırarak dosyadaki meta verileri kaldırmak için files.modifyLabels
yöntemini kullanın. İstek gövdesi, dosyadaki etiket grubunu değiştirmek için ModifyLabelsRequest
öğesinin bir örneğini içerir. İstek, atomik olarak uygulanan çeşitli değişiklikler içerebilir. Diğer bir deyişle, herhangi bir değişiklik geçerli değilse güncellemenin tamamı başarısız olur ve (potansiyel olarak bağımlı olan) değişikliklerin hiçbiri uygulanmaz.
ModifyLabelsRequest
, bir dosyadaki etikette yapılan değişiklik olan LabelModification
örneğini içerir. Etiket alanında, etiket alanında yapılan bir değişiklik olan FieldModification
örneğini de içerebilir. Alana ait 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
nesne içinde bulunur.
Örnek
Aşağıdaki kod örneğinde, ilişkili fileId
üzerindeki alan değerlerinin ayarını kaldırmak için fieldId
ve labelId
öğelerinin nasıl kullanılacağı gösterilmektedir. Örneğin, bir etiket hem metin hem de kullanıcı alanları içeriyorsa metin alanı ayarlanmadan bırakılırsa metin alanı etiketten kaldırılır ancak kullanıcı alanına dokunulmaz. Bir etiketin kaldırılması, etiketle ilişkili hem metin hem de kullanıcı alanlarının silinmesine neden olur. 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ğeri.fieldId
etiketini bulmak için Google Drive Etiketler API'sini kullanarak etiketi alın. - LABEL_ID: Değiştirilecek etiketin
labelId
değeri. - FILE_ID: Etiketlerin değiştirildiği dosyanın
fileId
değeri.