Bu sayfada, etiketlerin nasıl ayarlanacağı açıklanmaktadır.
Tek bir cihazda Field
Google Drive dosyası.
Dosya etiketi ayarlayarak bir dosyaya meta veri eklemek için
files.modifyLabels
yöntemini kullanabilirsiniz. İlgili içeriği oluşturmak için kullanılan
istek gövdesi
şunun bir örneğini içerir:
ModifyLabelsRequest
kullanarak dosyadaki etiket grubunu değiştirebilirsiniz. Bu istek birkaç
atomik olarak uygulanan modifikasyonlardır. Yani herhangi bir değişiklik
güncellemenin tamamı başarısız olur ve (potansiyel olarak
(bağlı olarak) nasıl uygulanır?
ModifyLabelsRequest
,
LabelModification
Bu, dosyadaki bir etikette yapılan değişikliktir. Örnek içeriyor olabilir
/
FieldModification
Bu, etiket alanında yapılan bir değişikliktir.
Başarılı olursa yanıt
gövde içerir
istek tarafından eklenen veya güncellenen etiketler. Bunlar,
Label
türündeki modifiedLabels
nesnesi.
Örnek
Aşağıdaki kod örneğinde, ayarlamak istediğiniz metin alanının fieldId
nasıl kullanılacağı gösterilmektedir
bu Field
için bir değere
dosyası olarak kaydedebilirsiniz. Bir dosyada Field
etiketi ilk kez ayarlandığında etiketi şunlara uygular:
seçin. Daha sonra tek bir alanın ayarını kaldırabilir veya
etiketi ekler. Daha fazla bilgi için
dosyası ve Bir etiketi
dosyası olduğundan emin olun.
Java
LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setSetTextValues(ImmutableList.of("VALUE"));
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','setTextValues':['VALUE']}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute()
Node.js
/**
* Set a label with a text field on a Drive file
* @return{obj} updated label data
**/
async function setLabelTextField() {
// 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',
'setTextValues': ['VALUE'],
};
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. Yerini bulmak içinfieldId
etiketi kullanıyorsanız Google Drive Etiketler API'si. - VALUE: Bu alan için yeni
value
. - LABEL_ID: Değiştirilecek etiketin
labelId
değeri. - FILE_ID: Etiketlerin bulunduğu dosyanın
fileId
değeri değiştirildi.
Notlar
- Alan içermeyen bir etiket ayarlamak için içermeyen
labelModifications
öğesini uygulayınfieldModifications
mevcut. - Seçim alanı seçeneklerinin değerlerini belirlemek için
Değerin
Choice
kimliği Drive Etiketler API. - Yalnızca değer listelerini destekleyen bir
Field
için birden fazla değer ayarlanmış olabilir. Aksi takdirde400: Bad Request
hata yanıtı alırsınız. - Seçilen
Field
için uygun değer türünü (ör. tam sayı, metin, kullanıcı vb.) içermez. Aksi takdirde400: Bad Request
hata yanıtı alırsınız. Alan veri türünü şunu kullanarak alabilirsiniz: Drive Etiketler API'si.