REST Resource: forms

المرجع: نموذج

مستند في "نماذج Google" يتم إنشاء نموذج في Drive، ويتم حذف نموذج أو تغيير إجراءات حماية الوصول إليه من خلال Drive API.

تمثيل JSON
{
  "formId": string,
  "info": {
    object (Info)
  },
  "settings": {
    object (FormSettings)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "revisionId": string,
  "responderUri": string,
  "linkedSheetId": string
}
الحقول
formId

string

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

info

object (Info)

مطلوب. تمثّل هذه السمة عنوان النموذج ووصفه.

settings

object (FormSettings)

إعدادات النموذج يجب تعديل هذه القيمة من خلال إضافة "UpdateSettingsRequest". ويتم تجاهلها خلال forms.create وUpdateFormInfoRequest.

items[]

object (Item)

مطلوب. قائمة بعناصر النموذج، والتي يمكن أن تتضمن عناوين الأقسام والأسئلة والوسائط المضمّنة وما إلى ذلك

revisionId

string

النتائج فقط. رقم تعريف النسخة السابقة للنموذج. تُستخدَم في WriteControl في طلبات التحديث لتحديد النسخة السابقة التي تستند إليها التغييرات.

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

responderUri

string

النتائج فقط. معرّف الموارد المنتظم (URI) للنموذج المطلوب مشاركته مع المجيبين يؤدي هذا إلى فتح صفحة تسمح للمستخدم بإرسال الردود دون تعديل الأسئلة.

linkedSheetId

string

النتائج فقط. رقم تعريف "جدول بيانات Google" المرتبط الذي يجمع الردود من هذا النموذج (في حال توفّر جدول بيانات Google هذا).

معلومات

تمثّل هذه السمة المعلومات العامة في نموذج معيّن.

تمثيل JSON
{
  "title": string,
  "documentTitle": string,
  "description": string
}
الحقول
title

string

مطلوب. عنوان النموذج الذي يظهر للمجيبين.

documentTitle

string

النتائج فقط. عنوان المستند الذي يظهر في Drive. إذا كان الحقل Info.title فارغًا، قد يظهر الرمز documentTitle مكانه في واجهة مستخدم "نماذج Google" وقد يظهر للمجيبين. يمكن ضبط documentTitle عند الإنشاء، ولكن لا يمكن تعديله من خلال طلب تعديل مجمّع. يُرجى استخدام Google Drive API إذا كنت تريد تحديث documentTitle آليًا.

description

string

تمثّل هذه السمة وصف النموذج.

FormSettings

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

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

object (QuizSettings)

الإعدادات المتعلقة بنماذج الاختبار ووضع الدرجات

QuizSettings

الإعدادات المتعلقة بنماذج الاختبار ووضع الدرجات ويجب تعديل هذه الإعدادات باستخدام UpdateSettingsRequest.

تمثيل JSON
{
  "isQuiz": boolean
}
الحقول
isQuiz

boolean

ما إذا كان هذا النموذج اختبارًا أم لا. عندما تكون القيمة true، يتم وضع درجات للردود استنادًا إلى السؤال Grading. عند ضبط هذه السياسة على "خطأ"، يتم حذف كل سؤال Grading.

المنتج/الخدمة

تمثّل هذه السمة عنصرًا واحدًا من النموذج. تحدّد السمة kind نوع العنصر.

تمثيل JSON
{
  "itemId": string,
  "title": string,
  "description": string,

  // Union field kind can be only one of the following:
  "questionItem": {
    object (QuestionItem)
  },
  "questionGroupItem": {
    object (QuestionGroupItem)
  },
  "pageBreakItem": {
    object (PageBreakItem)
  },
  "textItem": {
    object (TextItem)
  },
  "imageItem": {
    object (ImageItem)
  },
  "videoItem": {
    object (VideoItem)
  }
  // End of list of possible types for union field kind.
}
الحقول
itemId

string

معرّف السلعة.

عند الإنشاء، يمكن تقديم رقم التعريف، ولكن يجب ألا يكون سبق استخدامه في النموذج. وفي حال عدم توفيرها، يتم تخصيص رقم تعريف جديد.

title

string

عنوان السلعة.

description

string

وصف العنصر.

حقل الاتحاد kind. مطلوب. نوع هذا العنصر. يمكن أن يكون kind واحدًا فقط مما يلي:
questionItem

object (QuestionItem)

طرح سؤال للمستخدم

questionGroupItem

object (QuestionGroupItem)

يطرح سؤالاً واحدًا أو أكثر للمستخدم من خلال طلب رئيسي واحد.

pageBreakItem

object (PageBreakItem)

يؤدي النقر على هذا الزر إلى بدء صفحة جديدة بعنوان.

textItem

object (TextItem)

تعرض عنوانًا ووصفًا على الصفحة.

imageItem

object (ImageItem)

عرض صورة على الصفحة

videoItem

object (VideoItem)

عرض فيديو على الصفحة

QuestionItem

عنصر نموذج يحتوي على سؤال واحد

تمثيل JSON
{
  "question": {
    object (Question)
  },
  "image": {
    object (Image)
  }
}
الحقول
question

object (Question)

مطلوب. السؤال المعروض.

image

object (Image)

الصورة المعروضة داخل السؤال.

السؤال

أي سؤال. يُعرف نوع السؤال المحدّد من خلال kind.

تمثيل JSON
{
  "questionId": string,
  "required": boolean,
  "grading": {
    object (Grading)
  },

  // Union field kind can be only one of the following:
  "choiceQuestion": {
    object (ChoiceQuestion)
  },
  "textQuestion": {
    object (TextQuestion)
  },
  "scaleQuestion": {
    object (ScaleQuestion)
  },
  "dateQuestion": {
    object (DateQuestion)
  },
  "timeQuestion": {
    object (TimeQuestion)
  },
  "fileUploadQuestion": {
    object (FileUploadQuestion)
  },
  "rowQuestion": {
    object (RowQuestion)
  }
  // End of list of possible types for union field kind.
}
الحقول
questionId

string

للقراءة فقط. رقم تعريف السؤال

عند الإنشاء، يمكن تقديم رقم التعريف، ولكن يجب ألا يكون سبق استخدامه في النموذج. وفي حال عدم توفيرها، يتم تخصيص رقم تعريف جديد.

required

boolean

لتحديد ما إذا كان يجب الإجابة عن السؤال لكي يتمكّن المجيب من إرسال ردّه.

grading

object (Grading)

إعداد وضع الدرجات للسؤال

حقل الاتحاد kind. مطلوب. تمثّل هذه السمة نوع السؤال المقدّم على المجيب. يمكن أن يكون kind واحدًا فقط مما يلي:
choiceQuestion

object (ChoiceQuestion)

يمكن للمستجيب الاختيار من بين مجموعة محددة مسبقًا من الخيارات.

textQuestion

object (TextQuestion)

يمكن للمجيب إدخال نص حر.

scaleQuestion

object (ScaleQuestion)

يمكن للمجيب اختيار رقم من نطاق.

dateQuestion

object (DateQuestion)

يمكن للمجيب إدخال تاريخ.

timeQuestion

object (TimeQuestion)

يمكن للمجيب إدخال وقت.

fileUploadQuestion

object (FileUploadQuestion)

يمكن للمجيب تحميل ملف واحد أو أكثر.

rowQuestion

object (RowQuestion)

هذه السمة تعرض صفًا من QuestionGroupItem.

ChoiceQuestion

سؤال عن الراديو/مربع الاختيار/القائمة المنسدلة.

تمثيل JSON
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
الحقول
type

enum (ChoiceType)

مطلوب. تمثّل هذه السمة نوع السؤال الذي تختاره.

options[]

object (Option)

مطلوب. قائمة الخيارات التي يجب أن يختار المجيب من بينها.

shuffle

boolean

ما إذا كان يجب عرض الخيارات بترتيب عشوائي لمثيلات مختلفة من الاختبار. غالبًا ما يستخدم هذا لمنع الغش من قبل المشاركين الذين قد ينظرون إلى شاشة مشارك آخر، أو لمعالجة التحيز في استبيان قد يتم تقديمه من خلال وضع نفس الخيارات دائمًا أولاً أو في النهاية.

ChoiceType

نوع الاختيار.

عمليات التعداد
CHOICE_TYPE_UNSPECIFIED القيمة التلقائية. غير مُستخدَم.
RADIO أزرار الاختيار: يتم عرض جميع الخيارات للمستخدم الذي يمكنه اختيار واحد منها فقط.
CHECKBOX مربّعات الاختيار: يتم عرض جميع الخيارات للمستخدم الذي يمكنه تحديد أي عدد منها.
DROP_DOWN القائمة المنسدلة: تظهر الخيارات للمستخدم عند الطلب فقط، وبخلاف ذلك، سيتم عرض الاختيار الحالي فقط. يمكن تحديد خيار واحد فقط.

Option

تمثّل هذه السمة خيارًا لسؤال الخيارات.

تمثيل JSON
{
  "value": string,
  "image": {
    object (Image)
  },
  "isOther": boolean,

  // Union field go_to_section can be only one of the following:
  "goToAction": enum (GoToAction),
  "goToSectionId": string
  // End of list of possible types for union field go_to_section.
}
الحقول
value

string

مطلوب. الاختيار كما تم عرضه للمستخدم.

image

object (Image)

عرض الصورة كخيار

isOther

boolean

تحديد ما إذا كان الخيار "غير ذلك" ينطبق حاليًا على نوعَي الاختيار RADIO وCHECKBOX فقط، ولكن لا يُسمح به في QuestionGroupItem.

حقل الاتحاد go_to_section. القسم الذي يجب الانتقال إليه إذا تم تحديد هذا الخيار ينطبق حاليًا على نوع الاختيار RADIO وSELECT فقط، ولكن غير مسموح به في QuestionGroupItem. يمكن أن يكون go_to_section واحدًا فقط مما يلي:
goToAction

enum (GoToAction)

نوع التنقّل في القسم

goToSectionId

string

رقم تعريف العنصر لرأس القسم المطلوب الانتقال إليه.

GoToAction

الثوابت للتنقل في الأقسام

عمليات التعداد
GO_TO_ACTION_UNSPECIFIED القيمة التلقائية. غير مُستخدَم.
NEXT_SECTION الانتقال إلى القسم التالي
RESTART_FORM العودة إلى بداية النموذج
SUBMIT_FORM إرسال النموذج على الفور

صورة

يشير ذلك المصطلح إلى البيانات التي تمثّل صورة.

تمثيل JSON
{
  "contentUri": string,
  "altText": string,
  "properties": {
    object (MediaProperties)
  },

  // Union field image_source can be only one of the following:
  "sourceUri": string
  // End of list of possible types for union field image_source.
}
الحقول
contentUri

string

النتائج فقط. معرف موارد منتظم (URI) الذي يمكنك تنزيل الصورة منه يسري هذا العرض لفترة محدودة فقط.

altText

string

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

properties

object (MediaProperties)

خصائص الصورة

حقل الاتحاد image_source. نوع مصدر الصور يجب تعيين حقل مصدر واحد فقط للصور عند إنشاء صور جديدة. يمكن أن يكون image_source واحدًا فقط مما يلي:
sourceUri

string

الإدخال فقط. معرف الموارد المنتظم (URI) المصدر هو معرف الموارد المنتظم (URI) المستخدم لإدراج الصورة. يمكن أن يكون معرّف الموارد المنتظم (URI) المصدر فارغًا عند استرجاعه.

MediaProperties

خصائص الوسائط.

تمثيل JSON
{
  "alignment": enum (Alignment),
  "width": integer
}
الحقول
alignment

enum (Alignment)

موضع الوسائط

width

integer

عرض الوسائط بالبكسل. وعند عرض الوسائط، يتم تغيير حجمها إلى أصغر هذه القيمة أو عرض النموذج المعروض. يتم الاحتفاظ بنسبة العرض إلى الارتفاع الأصلية للوسائط. إذا لم يتم تحديد عرض عند إضافة الوسائط إلى النموذج، يتم ضبطه على عرض مصدر الوسائط. يجب أن يتراوح العرض بين 0 و740، بما في ذلك الرقمان. لا يُسمح بضبط العرض على 0 أو غير محدَّد إلا عند تعديل مصدر الوسائط.

محاذاة

محاذاة على الصفحة.

عمليات التعداد
ALIGNMENT_UNSPECIFIED القيمة التلقائية. غير مُستخدَم.
LEFT محاذاة لليسار.
RIGHT محاذاة لليمين.
CENTER الوسط.

TextQuestion

سؤال نصي.

تمثيل JSON
{
  "paragraph": boolean
}
الحقول
paragraph

boolean

ما إذا كان السؤال مقطعًا من فقرة أم لا. إذا لم يكن الأمر كذلك، يكون السؤال سؤالاً نصيًا قصيرًا.

ScaleQuestion

سؤال مقياس. لدى المستخدم مجموعة من القيم الرقمية للاختيار من بينها.

تمثيل JSON
{
  "low": integer,
  "high": integer,
  "lowLabel": string,
  "highLabel": string
}
الحقول
low

integer

مطلوب. تمثّل هذه السمة أدنى قيمة ممكنة للمقياس.

high

integer

مطلوب. تمثّل هذه السمة أعلى قيمة ممكنة للمقياس.

lowLabel

string

التصنيف المطلوب عرضه، وهو يصف النقطة الأدنى على المقياس.

highLabel

string

التسمية المطلوب عرضها والتي تصف أعلى نقطة على المقياس.

DateQuestion

سؤال عن التاريخ. يتم ضبط أسئلة التاريخ تلقائيًا على الشهر + اليوم فقط.

تمثيل JSON
{
  "includeTime": boolean,
  "includeYear": boolean
}
الحقول
includeTime

boolean

تحديد ما إذا كان يجب تضمين الوقت كجزء من السؤال.

includeYear

boolean

تحديد ما إذا كان سيتم تضمين السنة كجزء من السؤال.

TimeQuestion

سؤال زمني.

تمثيل JSON
{
  "duration": boolean
}
الحقول
duration

boolean

true إذا كان السؤال يتعلق بوقت ينقضي. وبخلاف ذلك، يكون الوقت في اليوم تقريبًا.

FileUploadQuestion

سؤال حول تحميل ملف لا تتيح واجهة برمجة التطبيقات حاليًا إنشاء أسئلة تحميل الملفات.

تمثيل JSON
{
  "folderId": string,
  "types": [
    enum (FileType)
  ],
  "maxFiles": integer,
  "maxFileSize": string
}
الحقول
folderId

string

مطلوب. رقم تعريف مجلد Drive الذي يتم تخزين الملفات المحمَّلة فيه

types[]

enum (FileType)

أنواع الملفات المقبولة في هذا السؤال.

maxFiles

integer

الحدّ الأقصى لعدد الملفات التي يمكن تحميلها لهذا السؤال في إجابة واحدة.

maxFileSize

string (int64 format)

الحد الأقصى لعدد وحدات البايت المسموح بها لأي ملف واحد تم تحميله لهذا السؤال.

FileType

أنواع الملفات التي يمكن تحميلها إلى سؤال تحميل ملف.

عمليات التعداد
FILE_TYPE_UNSPECIFIED القيمة التلقائية. غير مُستخدَم.
ANY لا توجد قيود على النوع.
DOCUMENT مستند في "مستندات Google"
PRESENTATION عرض تقديمي في "العروض التقديمية من Google"
SPREADSHEET جدول بيانات Google Sheets.
DRAWING رسم.
PDF ملف PDF
IMAGE صورة.
VIDEO الفيديو
AUDIO ملف صوتي

RowQuestion

هي إعدادات لسؤال يشكّل جزءًا من مجموعة أسئلة.

تمثيل JSON
{
  "title": string
}
الحقول
title

string

مطلوب. تمثّل هذه السمة عنوان الصف الفردي في QuestionGroupItem.

وضع العلامات

وضع الدرجات لسؤال واحد

تمثيل JSON
{
  "pointValue": integer,
  "correctAnswers": {
    object (CorrectAnswers)
  },
  "whenRight": {
    object (Feedback)
  },
  "whenWrong": {
    object (Feedback)
  },
  "generalFeedback": {
    object (Feedback)
  }
}
الحقول
pointValue

integer

مطلوب. الحد الأقصى لعدد النقاط التي يمكن أن يحصل عليها المجيب تلقائيًا للحصول على إجابة صحيحة. يجب ألا يكون هذا سلبيًا.

correctAnswers

object (CorrectAnswers)

مطلوب. تمثّل هذه السمة مفتاح الإجابة الخاص بالسؤال. يتم وضع درجات للردود تلقائيًا استنادًا إلى هذا الحقل.

whenRight

object (Feedback)

الملاحظات المعروضة للردود الصحيحة يمكن ضبط هذه الملاحظات فقط لأسئلة الخيارات المتعدّدة التي تم تقديم الإجابات الصحيحة لها.

whenWrong

object (Feedback)

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

generalFeedback

object (Feedback)

الملاحظات المعروضة لجميع الإجابات. يشيع استخدام هذا للأسئلة ذات الإجابات القصيرة عندما يريد مالك الاختبار إعطاء المستجيبين بسرعة فكرة عما إذا كانوا قد أجابوا عن السؤال بشكل صحيح قبل أن تتاح لهم فرصة تقييم الإجابة رسميًا. لا يمكن ضبط الملاحظات العامة لأسئلة الخيارات المتعدّدة التي تم وضع درجات لها تلقائيًا.

CorrectAnswers

تمثّل هذه السمة مفتاح الإجابة لسؤال معيّن.

تمثيل JSON
{
  "answers": [
    {
      object (CorrectAnswer)
    }
  ]
}
الحقول
answers[]

object (CorrectAnswer)

تمثّل هذه السمة قائمة بالإجابات الصحيحة. يمكن وضع درجات لأي إجابة اختبار تلقائيًا بناءً على هذه الإجابات. بالنسبة إلى الأسئلة ذات القيمة المفردة، يتم وضع علامة "صحيح" على الإجابة إذا تطابقت مع أي قيمة في هذه القائمة (بمعنى آخر، من الممكن تقديم إجابات متعددة صحيحة). بالنسبة إلى الأسئلة متعددة القيم (CHECKBOX)، يتم وضع علامة "صحيح" على الإجابة إذا كان يحتوي على القيم الموجودة في هذه القائمة بالضبط.

CorrectAnswer

تمثّل هذه السمة إجابة واحدة صحيحة عن السؤال. بالنسبة إلى الأسئلة المتعددة القيم (CHECKBOX)، قد تحتاج إلى عدة CorrectAnswer لتمثيل خيار واحد صحيح للإجابة.

تمثيل JSON
{
  "value": string
}
الحقول
value

string

مطلوب. قيمة الإجابة الصحيحة. راجِع مستندات TextAnswer.value للحصول على تفاصيل حول كيفية تنسيق أنواع القيم المختلفة.

QuestionGroupItem

تحدد سؤالاً يتألف من أسئلة متعددة مجمعة معًا.

تمثيل JSON
{
  "questions": [
    {
      object (Question)
    }
  ],
  "image": {
    object (Image)
  },

  // Union field kind can be only one of the following:
  "grid": {
    object (Grid)
  }
  // End of list of possible types for union field kind.
}
الحقول
questions[]

object (Question)

مطلوب. قائمة بالأسئلة التي تنتمي إلى مجموعة الأسئلة هذه يجب أن ينتمي السؤال إلى مجموعة واحدة فقط. قد تؤثر kind للمجموعة في أنواع الأسئلة المسموح بها.

image

object (Image)

الصورة المعروضة داخل مجموعة الأسئلة فوق الأسئلة المحددة

حقل الاتحاد kind. مطلوب. نوع مجموعة الأسئلة الذي يحدّد أنواع الأسئلة المسموح بها وطريقة عرضها. يمكن أن يكون kind واحدًا فقط مما يلي:
grid

object (Grid)

مجموعة الأسئلة عبارة عن شبكة تحتوي على صفوف من أسئلة الخيارات المتعددة تشترك في نفس الخيارات. عند ضبط السمة grid، يجب أن تكون جميع الأسئلة في المجموعة من النوع row.

شبكة

شبكة من الخيارات (راديو أو مربعات اختيار) مع كل صف يشكل سؤالاً منفصلاً. ولكل صف الخيارات نفسها، والتي يتم عرضها كأعمدة.

تمثيل JSON
{
  "columns": {
    object (ChoiceQuestion)
  },
  "shuffleQuestions": boolean
}
الحقول
columns

object (ChoiceQuestion)

مطلوب. الخيارات التي يشاركها كل سؤال في الشبكة. بمعنى آخر، قيم الأعمدة. يُسمح فقط باختيارات CHECK_BOX وRADIO.

shuffleQuestions

boolean

إذا كانت القيمة true، سيتم ترتيب الأسئلة بشكل عشوائي. بمعنى آخر، تظهر الصفوف بترتيب مختلف لكل مشارك.

PageBreakItem

فاصل صفحة. يظهر عنوان هذا العنصر ووصفه في أعلى الصفحة الجديدة.

TextItem

عنصر نصي.

ImageItem

عنصر يحتوي على صورة

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

object (Image)

مطلوب. الصورة المعروضة في السلعة

VideoItem

تمثّل هذه السمة عنصرًا يحتوي على فيديو.

تمثيل JSON
{
  "video": {
    object (Video)
  },
  "caption": string
}
الحقول
video

object (Video)

مطلوب. تمثّل هذه السمة الفيديو المعروض في السلعة.

caption

string

النص المعروض أسفل الفيديو.

فيديو

البيانات التي تمثّل الفيديو

تمثيل JSON
{
  "youtubeUri": string,
  "properties": {
    object (MediaProperties)
  }
}
الحقول
youtubeUri

string

مطلوب. معرّف الموارد المنتظم (URI) الخاص بـ YouTube

properties

object (MediaProperties)

خصائص الفيديو

الطُرق

batchUpdate

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

create

عليك إنشاء نموذج جديد باستخدام العنوان الوارد في رسالة النموذج المقدَّمة في الطلب.

get

احصل على نموذج.