توضّح هذه الصفحة كيفية ضبط تصنيف
Field على ملف واحد
في Google Drive.
لإضافة بيانات وصفية إلى ملف من خلال ضبط تصنيف ملف، استخدِم طريقة
files.modifyLabels. يحتوي
نص الطلب
على مثال
ModifyLabelsRequest
لتعديل مجموعة التصنيفات على ملف. قد يحتوي الطلب على عدة تعديلات يتم تطبيقها بشكل متكامل. أي إذا كانت أي تعديلات غير صالحة، لن ينجح التعديل بالكامل ولن يتم تطبيق أي من التغييرات (التي قد تكون مرتبطة).
يحتوي ModifyLabelsRequest على مثال
LabelModification
وهو تعديل على تصنيف في ملف. قد يحتوي أيضًا على مثال
من
FieldModification
وهو تعديل على حقل تصنيف.
إذا كانت الاستجابة ناجحة، يحتوي نص
الاستجابة على
التصنيفات التي أضافها الطلب أو عدّلها. تظهر هذه التصنيفات ضمن عنصر
modifiedLabels من النوع Label.
مثال
يعرض نموذج الرمز التالي كيفية استخدام fieldId لحقل نص لضبط
قيمة لهذا Field في
ملف. عند ضبط Field تصنيف لأول مرة على ملف، يتم تطبيق التصنيف على
الملف. يمكنك بعد ذلك إلغاء ضبط حقل واحد أو إزالة جميع الحقول المرتبطة بالتصنيف. لمزيد من المعلومات، يُرجى الاطّلاع على إلغاء ضبط حقل تصنيف في
ملف وإزالة تصنيف من
ملف.
جافا
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.