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

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