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