Method: forms.batchUpdate

تغيير النموذج بمجموعة من التعديلات

طلب HTTP

POST https://forms.googleapis.com/v1/forms/{formId}:batchUpdate

يستخدِم عنوان URL بنية تحويل ترميز gRPC.

مَعلمات المسار

المعلمات
formId

string

مطلوب. رقم تعريف النموذج

نص الطلب

يحتوي نص الطلب على بيانات بالبنية التالية:

تمثيل JSON
{
  "includeFormInResponse": boolean,
  "requests": [
    {
      object (Request)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
الحقول
includeFormInResponse

boolean

تحديد ما إذا كان سيتم عرض نسخة محدَّثة من النموذج في الاستجابة

requests[]

object (Request)

مطلوب. طلبات التعديل لهذه الدُفعة

writeControl

object (WriteControl)

توفِّر هذه الميزة إمكانية التحكُّم في كيفية تنفيذ طلبات الكتابة.

نص الاستجابة

الاستجابة لـ BatchUpdateFormRequest.

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

تمثيل JSON
{
  "form": {
    object (Form)
  },
  "replies": [
    {
      object (Response)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
الحقول
form

object (Form)

استنادًا إلى حقل طلب القيمة المنطقية includeFormInResponse، يتم عرض نموذج يحتوي على جميع التغييرات/التعديلات المطبَّقة أو لا. قد يكون هذا بعد رقم تعريف النسخة السابقة الذي تم إنشاؤه بواسطة هذه التغييرات.

replies[]

object (Response)

الرد على التعديلات. يؤدي هذا إلى ربط 1:1 بطلبات التعديل، على الرغم من أن الردود على بعض الطلبات قد تكون فارغة.

writeControl

object (WriteControl)

عنصر تحكّم الكتابة المعدَّل بعد تطبيق الطلب

نطاقات الأذونات

يتطلب هذا الإعداد أحد نطاقات OAuth التالية:

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/forms.body

لمزيد من المعلومات، يُرجى الاطّلاع على دليل التفويض.

الطلب

أنواع طلبات التعديل التي يمكن إجراؤها.

تمثيل JSON
{

  // Union field kind can be only one of the following:
  "updateFormInfo": {
    object (UpdateFormInfoRequest)
  },
  "updateSettings": {
    object (UpdateSettingsRequest)
  },
  "createItem": {
    object (CreateItemRequest)
  },
  "moveItem": {
    object (MoveItemRequest)
  },
  "deleteItem": {
    object (DeleteItemRequest)
  },
  "updateItem": {
    object (UpdateItemRequest)
  }
  // End of list of possible types for union field kind.
}
الحقول
حقل الاتحاد kind. نوع الطلب. يمكن أن يكون kind واحدًا فقط مما يلي:
updateFormInfo

object (UpdateFormInfoRequest)

تعديل معلومات النموذج

updateSettings

object (UpdateSettingsRequest)

لتعديل إعدادات النموذج.

createItem

object (CreateItemRequest)

لإنشاء عنصر جديد.

moveItem

object (MoveItemRequest)

نقل عنصر إلى موقع محدّد

deleteItem

object (DeleteItemRequest)

حذف عنصر

updateItem

object (UpdateItemRequest)

تعديل عنصر

UpdateFormInfoRequest

تعديل معلومات النموذج

تمثيل JSON
{
  "info": {
    object (Info)
  },
  "updateMask": string
}
الحقول
info

object (Info)

المعلومات المطلوب تعديلها.

updateMask

string (FieldMask format)

مطلوب. يتم تغيير القيم المذكورة في هذا القناع فقط. يجب تحديد حقل واحد على الأقل. الجذر info ضمني ويجب عدم تحديده. يمكن استخدام "*" واحد كاختصار لتعديل كل حقل.

هذه قائمة مفصولة بفواصل تضم أسماء الحقول المؤهلة بالكامل. مثال: "user.displayName,photo"

UpdateSettingsRequest

تعديل FormSettings للنموذج

تمثيل JSON
{
  "settings": {
    object (FormSettings)
  },
  "updateMask": string
}
الحقول
settings

object (FormSettings)

مطلوب. الإعدادات التي سيتم تعديلها.

updateMask

string (FieldMask format)

مطلوب. يتم تغيير القيم المذكورة في هذا القناع فقط. يجب تحديد حقل واحد على الأقل. الجذر settings ضمني ويجب عدم تحديده. يمكن استخدام "*" واحد كاختصار لتعديل كل حقل.

هذه قائمة مفصولة بفواصل تضم أسماء الحقول المؤهلة بالكامل. مثال: "user.displayName,photo"

CreateItemRequest

إنشاء عنصر في نموذج

تمثيل JSON
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  }
}
الحقول
item

object (Item)

مطلوب. العنصر المطلوب إنشاؤه.

location

object (Location)

مطلوب. مكان وضع العنصر الجديد.

الموقع الجغرافي

موقع جغرافي محدّد في نموذج

تمثيل JSON
{

  // Union field where can be only one of the following:
  "index": integer
  // End of list of possible types for union field where.
}
الحقول
حقل الاتحاد where. مطلوب. يُرجى تحديد موقع جغرافي في النموذج. يمكن أن يكون where واحدًا فقط مما يلي:
index

integer

الفهرس لعنصر في النموذج. يجب أن يكون هذا الحقل في النطاق.

[0..N)

، حيث N هو عدد العناصر في النموذج.

MoveItemRequest

نقل عنصر في نموذج

تمثيل JSON
{
  "originalLocation": {
    object (Location)
  },
  "newLocation": {
    object (Location)
  }
}
الحقول
originalLocation

object (Location)

مطلوب. موقع العنصر الذي تريد نقله.

newLocation

object (Location)

مطلوب. المكان الجديد للعنصر.

DeleteItemRequest

حذف عنصر في نموذج

تمثيل JSON
{
  "location": {
    object (Location)
  }
}
الحقول
location

object (Location)

مطلوب. موقع العنصر الذي تريد حذفه.

UpdateItemRequest

تعديل عنصر في نموذج

تمثيل JSON
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  },
  "updateMask": string
}
الحقول
item

object (Item)

مطلوب. القيم الجديدة للعنصر. وتجدر الإشارة إلى أنّه يتم استخدام معرّفات السلع والأسئلة إذا تم توفيرها (وكانت متوفرة في قناع الحقل). إذا كان المعرّف فارغًا (وفي قناع الحقل)، سيتم إنشاء معرّف جديد. هذا يعني أنّه يمكنك تعديل عنصر من خلال الحصول على النموذج عبر forms.get، وتعديل نسختك المحلية من هذا العنصر إلى الشكل الذي تريده، واستخدام UpdateItemRequest لكتابته مرة أخرى، مع استخدام المعرّفات نفسها (أو عدم ظهورها في قناع الحقل).

location

object (Location)

مطلوب. الموقع الجغرافي الذي يحدّد السلعة المطلوب تعديلها

updateMask

string (FieldMask format)

مطلوب. يتم تغيير القيم المذكورة في هذا القناع فقط.

هذه قائمة مفصولة بفواصل تضم أسماء الحقول المؤهلة بالكامل. مثال: "user.displayName,photo"

WriteControl

توفِّر هذه الميزة إمكانية التحكُّم في كيفية تنفيذ طلبات الكتابة.

تمثيل JSON
{

  // Union field control can be only one of the following:
  "requiredRevisionId": string,
  "targetRevisionId": string
  // End of list of possible types for union field control.
}
الحقول
حقل الاتحاد control. تحديد مراجعة النموذج الذي سيتم تطبيق التغييرات منه، وكيف يجب أن يتصرف الطلب إذا لم تكن هذه المراجعة هي المراجعة الحالية للنموذج. يمكن أن يكون control واحدًا فقط مما يلي:
requiredRevisionId

string

رقم تعريف المراجعة للنموذج الذي يتم تطبيق طلب الكتابة عليه. إذا لم تكن هذه هي آخر مراجعة للنموذج، لن تتم معالجة الطلب وسيتم عرض رسالة الخطأ 400 "طلب غير صالح".

targetRevisionId

string

رقم تعريف المراجعة المستهدف للنموذج الذي يتم تطبيق طلب الكتابة عليه.

إذا حدثت تغييرات بعد هذه المراجعة، سيتم تغيير التغييرات في طلب التحديث هذا وفقًا لتلك التغييرات. وينتج عن ذلك مراجعة جديدة للنموذج تتضمن كلاً من التغييرات في الطلب والتغييرات المتداخلة، مع حل الخادم للتغييرات المتعارضة.

لا يمكن استخدام رقم تعريف النسخة السابقة المستهدف إلا للكتابة في النُسخ الحديثة من النموذج. إذا كانت النسخة السابقة الهدف بعيدة جدًا عن آخر مراجعة، فلن تتم معالجة الطلب ويعرض الخطأ 400 (خطأ طلب غير صالح). يمكن إعادة محاولة الطلب بعد قراءة أحدث نسخة من النموذج. في معظم الحالات، يظل معرّف النسخة السابقة المستهدَف صالحًا لعدة دقائق بعد قراءته، ولكن قد تكون هذه الفترة أقصر في النماذج التي يتم تعديلها بشكلٍ متكرّر.

الرد

رد واحد من تحديث.

تمثيل JSON
{

  // Union field kind can be only one of the following:
  "createItem": {
    object (CreateItemResponse)
  }
  // End of list of possible types for union field kind.
}
الحقول
حقل الاتحاد kind. تمثّل هذه السمة نوع الردّ. يمكن أن يكون kind واحدًا فقط مما يلي:
createItem

object (CreateItemResponse)

هي نتيجة إنشاء عنصر.

CreateItemResponse

هي نتيجة إنشاء عنصر.

تمثيل JSON
{
  "itemId": string,
  "questionId": [
    string
  ]
}
الحقول
itemId

string

رقم تعريف العنصر الذي تم إنشاؤه.

questionId[]

string

معرّف السؤال الذي تم إنشاؤه كجزء من هذا العنصر، لمجموعة أسئلة، يسرد أرقام تعريف جميع الأسئلة التي تم إنشاؤها لهذا العنصر.