توضّح هذه الصفحة طريقة إضافة تصنيف 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 Categories API. - VALUE: السمة
value
الجديدة لهذا الحقل. - LABEL_ID:
labelId
للتصنيف المطلوب تعديله. - FILE_ID:
fileId
من الملف الذي تم تعديل التصنيفات له.
Notes
- لضبط تصنيف بدون حقول، طبِّق
labelModifications
بدون وجودfieldModifications
. - لضبط قيم لخيارات حقول التحديد، استخدِم رقم تعريف
Choice
للقيمة التي يمكنك الحصول عليها من خلال استرجاع مخطط التصنيفات في Drive Categories API. - يمكن ضبط قيم متعدّدة فقط للسمة
Field
المتوافقة مع قوائم القيم، وإلّا ستتلقّى استجابة الخطأ400: Bad Request
. - اضبط نوع القيمة المناسب للسمة
Field
المحدّدة (مثل عدد صحيح أو نص أو مستخدم أو غير ذلك)، وإلا ستتلقى استجابة الخطأ400: Bad Request
. ويمكنك استرداد نوع بيانات الحقل باستخدام واجهة برمجة التطبيقات Drive التصنيفات.