لإضافة محتوى إلى نموذج أو تعديل الإعدادات أو البيانات الوصفية أو المحتوى، استخدِم طريقة batchUpdate() التي تجمع التغييرات معًا في دفعة واحدة، بحيث إذا تعذّر تنفيذ أحد الطلبات، لن يتم حفظ أي من التغييرات الأخرى (التي قد تكون مرتبطة به).
تعرض طريقة batchUpdate() نص استجابة يتضمّن استجابة لكل طلب. تشغل كل استجابة الفهرس نفسه الذي يشغله الطلب المقابل، وبالنسبة إلى الطلبات التي لا تتضمّن استجابة مناسبة، ستكون الاستجابة في هذا الفهرس فارغة.
قبل البدء
يُرجى تنفيذ المهام التالية قبل المتابعة إلى المهام في هذه الصفحة:
- أكمِل عملية التفويض/المصادقة وإعداد بيانات الاعتماد في تعليمات "برنامج المستخدمين الأوائل".
تعديل البيانات الوصفية أو الإعدادات أو العناصر
يوضّح المثال التالي كيفية تعديل البيانات الوصفية لنموذج، ولكن البنية هي نفسها بالنسبة إلى المحتوى والإعدادات، إذ تستخدِم طلبات updateItem أو updateSettings بدلاً من updateFormInfo. بالنسبة إلى كل طلب، عليك تقديم اسم الحقل الذي سيتم تغييره والقيمة المعدَّلة، بالإضافة إلى قيمة updateMask للحدّ من التغييرات لتشمل الحقول التي حدّدتها.
REST
لتعديل وصف النموذج، استدعِ طريقة
batchUpdate()
باستخدام رقم تعريف النموذج وقيمة الوصف المعدَّلة.
نموذج نص الطلب
"requests": [{
"updateFormInfo": {
"info": {
"description": "Please complete this quiz based on this week's readings for class."
},
"updateMask": "description"
}
}]
Python
Node.js
إضافة عنصر
يوضّح المثال التالي كيفية إضافة محتوى جديد إلى نموذج. عند إضافة محتوى جديد، يجب تقديم موقع يتضمّن فهرسًا يتم فيه إدراج المحتوى الجديد. على سبيل المثال، سيؤدي الموقع الذي يحمل الفهرس 0 إلى إدراج المحتوى في بداية النموذج.
REST
لإضافة عنصر إلى النموذج، استدعِ الـ
batchUpdate()
باستخدام رقم تعريف النموذج ومعلومات العنصر والموقع الذي تم اختياره.
نموذج نص الطلب
"requests": [{
"createItem": {
"item": {
"title": "Homework video",
"description": "Quizzes in Google Forms",
"videoItem": {
"video": {
"youtubeUri": "https://www.youtube.com/watch?v=Lt5HqPvM-eI"
}
}},
"location": {
"index": 0
}
}]
Python
Node.js
ترتيب الطلبات
تقبل الطريقة batchUpdate()
مصفوفة من الطلبات الفرعية، مثل createItem وupdateItem.
يتم التحقّق من صحة الطلبات الفرعية واحدًا تلو الآخر بالترتيب الذي يتم تقديمها به.
مثال: يتضمّن طلب batchUpdate مصفوفة requests تتضمّن طلبَين فرعيَين من النوع createItem. يحتوي الطلب الفرعي "أ" على location.index 0 ويحتوي الطلب الفرعي "ب" على location.index 1. إذا كانت مصفوفة requests هي [A, B]، سينجح طلب batchUpdate. إذا كانت المصفوفة هي [B, A]، سيتعذّر تنفيذ طلب batchUpdate، لأنّ location.index 1 غير صالح ما لم يكن النموذج يحتوي على عنصر بالفهرس 0.