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