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