REST Resource: forms

منبع: فرم

یک سند Google Forms. فرمی در 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 پیوند شده که در حال جمع‌آوری پاسخ‌ها از این فرم است (در صورت وجود چنین برگه‌ای).

اطلاعات

اطلاعات کلی برای یک فرم

نمایندگی JSON
{
  "title": string,
  "documentTitle": string,
  "description": string
}
فیلدها
title

string

مورد نیاز. عنوان فرمی که برای پاسخگویان قابل مشاهده است.

documentTitle

string

فقط خروجی عنوان سندی که در Drive قابل مشاهده است. اگر Info.title خالی باشد، documentTitle ممکن است در جای خود در رابط کاربری Google Forms ظاهر شود و برای پاسخ دهندگان قابل مشاهده باشد. documentTitle می توان در ایجاد تنظیم کرد، اما نمی توان آن را با درخواست batchUpdate تغییر داد. اگر نیاز به به‌روزرسانی برنامه‌نویسی documentTitle دارید، لطفاً از Google Drive API استفاده کنید.

description

string

شرح فرم.

تنظیمات فرم

تنظیمات یک فرم

نمایندگی JSON
{
  "quizSettings": {
    object (QuizSettings)
  }
}
فیلدها
quizSettings

object ( QuizSettings )

تنظیمات مربوط به فرم های مسابقه و درجه بندی.

QuizSettings

تنظیمات مربوط به فرم های مسابقه و درجه بندی. اینها باید با UpdateSettingsRequest به روز شوند.

نمایندگی JSON
{
  "isQuiz": boolean
}
فیلدها
isQuiz

boolean

این که آیا این فرم یک مسابقه است یا نه. وقتی درست است، پاسخ ها بر اساس 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 )

ویدئویی را در صفحه نمایش می دهد.

مورد سوال

یک مورد فرم حاوی یک سوال واحد.

نمایندگی 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)
  },
  "ratingQuestion": {
    object (RatingQuestion)
  }
  // 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 .

ratingQuestion

object ( RatingQuestion )

یک پاسخ دهنده می تواند از بین مجموعه ای از نمادهای از پیش تعریف شده رتبه بندی را انتخاب کند.

سوال انتخاب

یک سوال رادیویی / چک باکس / کشویی.

نمایندگی JSON
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
فیلدها
type

enum ( ChoiceType )

مورد نیاز. نوع سوال انتخاب.

options[]

object ( Option )

مورد نیاز. فهرست گزینه هایی که پاسخ دهنده باید از بین آنها انتخاب کند.

shuffle

boolean

آیا گزینه ها باید به ترتیب تصادفی برای نمونه های مختلف مسابقه نمایش داده شوند یا خیر. این اغلب برای جلوگیری از تقلب توسط پاسخ دهندگانی استفاده می شود که ممکن است به صفحه پاسخ دهنده دیگری نگاه کنند، یا برای رسیدگی به سوگیری در نظرسنجی که ممکن است با قرار دادن گزینه های یکسان در اول یا آخر معرفی شود.

نوع انتخاب

نوع انتخاب.

Enums
CHOICE_TYPE_UNSPECIFIED مقدار پیش فرض استفاده نشده
RADIO دکمه‌های رادیویی: همه انتخاب‌ها به کاربر نشان داده می‌شوند که فقط می‌تواند یکی از آنها را انتخاب کند.
CHECKBOX چک باکس ها: همه انتخاب ها به کاربر نشان داده می شود که می تواند هر تعداد از آنها را انتخاب کند.
DROP_DOWN منوی کشویی: انتخاب ها فقط به درخواست کاربر نشان داده می شوند، در غیر این صورت فقط انتخاب فعلی نشان داده می شود. فقط یک گزینه را می توان انتخاب کرد.

گزینه

گزینه ای برای یک سوال انتخاب.

نمایندگی 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

ثابت برای ناوبری بخش.

Enums
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 یا نامشخص فقط در هنگام به روز رسانی منبع رسانه مجاز است.

تراز

تراز در صفحه

Enums
ALIGNMENT_UNSPECIFIED مقدار پیش فرض استفاده نشده
LEFT تراز چپ.
RIGHT تراز راست.
CENTER مرکز.

سوال متنی

یک سوال متنی

نمایندگی JSON
{
  "paragraph": boolean
}
فیلدها
paragraph

boolean

آیا سوال یک سوال پاراگراف است یا نه. اگر نه، سوال یک سوال متنی کوتاه است.

ScaleQuestion

یک سوال مقیاس کاربر طیف وسیعی از مقادیر عددی را برای انتخاب دارد.

نمایندگی JSON
{
  "low": integer,
  "high": integer,
  "lowLabel": string,
  "highLabel": string
}
فیلدها
low

integer

مورد نیاز. کمترین مقدار ممکن برای مقیاس.

high

integer

مورد نیاز. بالاترین مقدار ممکن برای مقیاس.

lowLabel

string

برچسبی که نشان‌دهنده پایین‌ترین نقطه در مقیاس است.

highLabel

string

برچسبی که بالاترین نقطه مقیاس را توصیف می کند.

پرسش تاریخ

یه سوال تاریخ سوالات تاریخ به طور پیش فرض فقط ماه + روز است.

نمایندگی JSON
{
  "includeTime": boolean,
  "includeYear": boolean
}
فیلدها
includeTime

boolean

آیا باید زمان را به عنوان بخشی از سؤال لحاظ کرد یا خیر.

includeYear

boolean

آیا باید سال را به عنوان بخشی از سؤال لحاظ کرد یا خیر.

سوال زمان

یک سوال زمانی

نمایندگی JSON
{
  "duration": boolean
}
فیلدها
duration

boolean

true اگر سوال مربوط به زمان سپری شده باشد. در غیر این صورت تقریباً یک زمان از روز است.

FileUploadQuestion

سوال آپلود فایل API در حال حاضر از ایجاد سوالات آپلود فایل پشتیبانی نمی کند.

نمایندگی JSON
{
  "folderId": string,
  "types": [
    enum (FileType)
  ],
  "maxFiles": integer,
  "maxFileSize": string
}
فیلدها
folderId

string

مورد نیاز. شناسه پوشه Drive که فایل‌های آپلود شده در آن ذخیره می‌شوند.

types[]

enum ( FileType )

انواع فایل مورد قبول این سوال.

maxFiles

integer

حداکثر تعداد فایل هایی که می توان برای این سوال در یک پاسخ آپلود کرد.

maxFileSize

string ( int64 format)

حداکثر تعداد بایت مجاز برای هر فایلی که در این سوال آپلود شده است.

نوع فایل

انواع فایل‌هایی که می‌توانند در یک سوال آپلود فایل آپلود شوند.

Enums
FILE_TYPE_UNSPECIFIED مقدار پیش فرض استفاده نشده
ANY بدون محدودیت در نوع
DOCUMENT یک سند Google Docs.
PRESENTATION ارائه Google Slides.
SPREADSHEET یک صفحه گسترده Google Sheets.
DRAWING یک نقاشی
PDF یک پی دی اف.
IMAGE یک تصویر
VIDEO یک ویدیو
AUDIO یک فایل صوتی

سطر سوال

پیکربندی برای یک سؤال که بخشی از یک گروه سؤال است.

نمایندگی JSON
{
  "title": string
}
فیلدها
title

string

مورد نیاز. عنوان تک ردیف در QuestionGroupItem .

سوال رتبه بندی

یک سوال رتبه بندی کاربر طیف وسیعی از نمادها را برای انتخاب دارد.

نمایندگی JSON
{
  "ratingScaleLevel": integer,
  "iconType": enum (RatingIconType)
}
فیلدها
ratingScaleLevel

integer

مورد نیاز. سطح مقیاس رتبه بندی سوال رتبه بندی.

iconType

enum ( RatingIconType )

مورد نیاز. نوع نمادی که برای رتبه بندی استفاده می شود.

RatingIconType

نوع نمادی که برای رتبه بندی استفاده می شود.

Enums
RATING_ICON_TYPE_UNSPECIFIED مقدار پیش فرض استفاده نشده
STAR یک نماد ستاره
HEART یک نماد قلب
THUMB_UP نماد انگشت شست پایین.

درجه بندی

نمره دهی برای یک سوال

نمایندگی 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 )

بازخورد برای همه پاسخ ها نمایش داده می شود. این معمولاً برای سؤالات پاسخ کوتاه استفاده می‌شود، زمانی که صاحب مسابقه می‌خواهد به سرعت به پاسخ‌دهندگان بفهمد که آیا قبل از اینکه فرصتی برای نمره‌دهی رسمی به سؤال داشته باشند، به سؤالات پاسخ صحیح داده‌اند یا خیر. بازخورد عمومی را نمی توان برای سؤالات چند گزینه ای با درجه بندی خودکار تنظیم کرد.

پاسخ های صحیح

کلید پاسخ برای یک سوال

نمایندگی JSON
{
  "answers": [
    {
      object (CorrectAnswer)
    }
  ]
}
فیلدها
answers[]

object ( CorrectAnswer )

لیستی از پاسخ های صحیح پاسخ مسابقه می تواند به طور خودکار بر اساس این پاسخ ها درجه بندی شود. برای سؤالات تک ارزشی، اگر پاسخی با هر مقداری در این فهرست مطابقت داشته باشد، به درستی علامت گذاری می شود (به عبارت دیگر، چندین پاسخ صحیح امکان پذیر است). برای سؤالات چند ارزشی ( CHECKBOX ) اگر پاسخی دقیقاً حاوی مقادیر موجود در این لیست باشد، به درستی علامت گذاری می شود.

پاسخ صحیح

یک پاسخ صحیح برای یک سوال برای سؤالات چند ارزشی ( 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 ، سوالات به صورت تصادفی مرتب می شوند. به عبارت دیگر، ردیف ها برای هر پاسخ دهنده به ترتیب متفاوتی ظاهر می شوند.

Page BreakItem

این نوع هیچ فیلدی ندارد.

شکستن صفحه عنوان و توضیحات این مورد در بالای صفحه جدید نشان داده شده است.

TextItem

این نوع هیچ فیلدی ندارد.

یک آیتم متنی

ImageItem

یک مورد حاوی یک تصویر.

نمایندگی JSON
{
  "image": {
    object (Image)
  }
}
فیلدها
image

object ( Image )

مورد نیاز. تصویر نمایش داده شده در مورد

آیتم ویدیویی

یک مورد حاوی یک ویدیو.

نمایندگی 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

فرم بگیر