توضّح هذه الصفحة طريقة ضبط تصنيف Field
على ملف واحد في Google Drive.
لإضافة بيانات وصفية إلى ملف من خلال ضبط تصنيف ملف، استخدِم الطريقة files.modifyLabels
. يحتوي
نص الطلب
على مثيل لـ
ModifyLabelsRequest
لتعديل مجموعة التصنيفات في ملف. قد يحتوي الطلب على العديد من
التعديلات التي يتم تطبيقها بشكل ذري. ويعني هذا أنّه إذا كانت هناك أي تعديلات غير صالحة، لن ينجح التحديث بأكمله ولن يتم تطبيق أي من التغييرات (التي يُحتمل أن تكون تابعة).
يحتوي ModifyLabelsRequest
على مثال LabelModification
، وهو تعديل لتصنيف على ملف. قد يحتوي أيضًا على مثال
FieldModification
وهو تعديل في حقل التصنيف.
في حال نجاح الإجراء، سيحتوي نص الردّ على
التصنيفات التي تمت إضافتها أو تعديلها بواسطة الطلب. وتوجد هذه السمات ضمن كائن
modifiedLabels
من النوع Label
.
مثال
يعرض نموذج الرمز البرمجي التالي كيفية استخدام fieldId
لحقل نصي لضبط قيمة للسمة Field
في أحد الملفات. عند ضبط التصنيف Field
على ملف بشكل مبدئي، يتم تطبيق التصنيف عليه. ويمكنك بعد ذلك إلغاء ضبط حقل واحد أو إزالة جميع الحقول المرتبطة بالتصنيف. لمزيد من المعلومات، يمكنك الاطّلاع على إلغاء ضبط حقل تصنيف على ملف وإزالة تصنيف من ملف.
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;
}
}
استبدِل ما يلي:
- FIELD_ID:
fieldId
للحقل المطلوب تعديله. لتحديد موقعfieldId
، عليك استرداد التصنيف باستخدام Google Drive label API. - VALUE: حقل
value
الجديد لهذا الحقل - LABEL_ID: السمة
labelId
للتصنيف المطلوب تعديله. - FILE_ID: السمة
fileId
للملف الذي تم تعديل التصنيفات له
Notes
- لضبط تصنيف بدون حقول، يجب تطبيق السمة
labelModifications
التي لا تتضمنfieldModifications
. - لضبط قيم لخيارات حقول الاختيار، استخدِم رقم تعريف
Choice
للقيمة التي يمكنك الحصول عليها من خلال استرجاع مخطط التصنيفات في واجهة برمجة تطبيقات التصنيفات في Drive. - يمكن ضبط مجموعة قيم متعددة فقط للسمة
Field
المتوافقة مع قوائم القيم، وإلّا ستتلقّى استجابة خطأ400: Bad Request
. - اضبط نوع القيمة المناسب للسمة
Field
المحدّدة (مثل عدد صحيح أو نص أو مستخدم، إلخ)، وإلا ستتلقّى استجابة خطأ400: Bad Request
. يمكنك استرداد نوع بيانات الحقل باستخدام واجهة برمجة تطبيقات التصنيفات في Drive.