برای اینکه به سازندگان فرم کنترل بیشتری بر روی افرادی که میتوانند پاسخ دهند، کنترلهای جزئی را برای پاسخدهندگان معرفی میکنیم. فرم هایی که پس از 31 ژانویه 2026 با API ایجاد می شوند، به طور پیش فرض دارای وضعیت منتشر نشده خواهند بود. برای کسب اطلاعات بیشتر،
تغییرات API در Google Forms را ببینید.
نمای کلی
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
Google Forms API یک رابط RESTful است که به شما امکان میدهد فرمها و آزمونها را ایجاد و تغییر دهید، پاسخهای فرم و نمرات آزمون را بازیابی کنید، کلیدهای پاسخ امتحانی را با بازخورد خودکار تنظیم کنید و اعلانهای فشاری دریافت کنید. رایج ترین کاربردهای این API شامل وظایف زیر است:
- یک فرم یا مسابقه ایجاد کنید
- پاسخ دهندگان را منتشر و مدیریت کنید
- یک فرم یا مسابقه را به روز کنید
- پاسخ ها را از یک فرم یا مسابقه بازیابی کنید
- محتوای فرم و ابرداده را بخوانید
- اعلانهای فشاری را تنظیم و دریافت کنید
- در زیر لیستی از اصطلاحات رایج مورد استفاده در Forms API آمده است:
- فرم
یک سند Google Forms که در Drive ایجاد و ذخیره شده است. هر فرم با یک منبع Form
نشان داده می شود و دارای یک مقدار formId
منحصر به فرد است که شامل حروف، اعداد، خط فاصله یا زیرخط است. میتوانید شناسه فرم را در URL فرمهای Google پیدا کنید:
https://docs.google.com/forms/d/FORM_ID/edit
- امتحان
نوع خاصی از سند Google Forms که امکان درجهبندی پاسخهای فرم را در برابر کلید پاسخ فراهم میکند. یک مسابقه فقط با استفاده از متد batchUpdate()
برای به روز رسانی تنظیمات isQuiz
در فرم موجود به true
ایجاد می شود.
- درجه بندی
- یک مقدار امتیاز، کلید پاسخ، و بازخورد برای یک سوال، زمانی که
isQuiz
true
باشد اعمال میشود. ارائه شده توسط منبع Grading
. - بازخورد
- پاسخی که به کاربر نهایی در هنگام پاسخ دادن به یک سوال در یک مسابقه داده می شود، که توسط منبع
Feedback
نشان داده می شود.
- مورد
یک عنصر واحد در یک فرم که با منبع آیتم نمایش داده می شود. Item
یک عنصر تکراری است که می تواند شامل بخش، گروه سوال، سوال، متن، تصویر یا ویدئو باشد.
- سوال
یک سؤال واحد در فرم، که توسط منبع Question
نشان داده شده است.
- گروه سوال
گروهی از سوالات که همگی مجموعهای از پاسخهای ممکن را به اشتراک میگذارند (به عنوان مثال، یک شبکه رتبهبندی از 1 تا 5). توسط منبع QuestionGroupItem
ارائه شده است.
- بخش
یک بخش راهی برای تقسیم یک فرم به چندین صفحه و اضافه کردن منطق شرطی است (مانند فقط نشان دادن سؤالات خاص بر اساس نحوه پاسخ کاربر). بخش ها با منبع PageBreakItem
مطابقت دارند.
- پاسخ دهید
پاسخ کاربر نهایی به یک سوال، که توسط منبع Answer
نشان داده شده است. شامل اطلاعات نمره (در صورت وجود)، فراداده، و محتوای پاسخ است.
- پاسخ
ارسال فرم توسط کاربر نهایی که توسط منبع FormResponse
نشان داده شده است.
- تماشا کنید
ماشهای که تغییرات را برای تغییرات طرحواره (مانند ویرایش سؤالات) یا ارسالهای پاسخ فرم ردیابی میکند و هنگامی که تغییری رخ میدهد یک اعلان فشار ارسال میکند. ارائه شده توسط منبع Watch
.
هنگام مدیریت فرمها و آزمونها، درک نحوه تعیین فیلدهای مختلف میتواند پیچیده باشد، با توجه به اینکه بسیاری از اشیاء فرم میتوانند به روشهای متعددی درون یکدیگر قرار بگیرند. برای اینکه ببینید چگونه نمایش تصویری یک فرم به فیلدها نگاشت می شود، توصیه می کنیم از رابط کاربری برای ایجاد چند نمونه از فرم هایی که ممکن است برنامه شما ایجاد کند استفاده کنید. سپس JSON مربوطه را با استفاده از متد forms.get()
بازیابی کنید تا بتوانید مقایسه کنید. به عنوان مثال، این آزمون نمونه با JSON زیر مطابقت دارد:
{
"formId": "FORM_ID",
"info": {
"title": "Famous Black Women",
"description": "Please complete this quiz based off of this week's readings for class.",
"documentTitle": "API Example Quiz"
},
"settings": {
"quizSettings": {
"isQuiz": true
}
},
"revisionId": "00000021",
"responderUri": "https://docs.google.com/forms/d/e/1FAIpQLSd0iBLPh4suZoGW938EU1WIxzObQv_jXto0nT2U8HH2KsI5dg/viewform",
"items": [
{
"itemId": "5d9f9786",
"imageItem": {
"image": {
"contentUri": "DIRECT_URL",
"properties": {
"alignment": "LEFT"
}
}
}
},
{
"itemId": "72b30353",
"title": "Which African American woman authored \"I Know Why the Caged Bird Sings\"?",
"questionItem": {
"question": {
"questionId": "25405d4e",
"required": true,
"grading": {
"pointValue": 2,
"correctAnswers": {
"answers": [
{
"value": "Maya Angelou"
}
]
}
},
"choiceQuestion": {
"type": "RADIO",
"options": [
{
"value": "Maya Angelou"
},
{
"value": "bell hooks"
},
{
"value": "Alice Walker"
},
{
"value": "Roxane Gay"
}
]
}
}
}
},
{
"itemId": "0a4859c8",
"title": "Who was the first Dominican-American woman elected to state office?",
"questionItem": {
"question": {
"questionId": "37fff47a",
"grading": {
"pointValue": 2,
"correctAnswers": {
"answers": [
{
"value": "Grace Diaz"
}
]
}
},
"choiceQuestion": {
"type": "RADIO",
"options": [
{
"value": "Rosa Clemente"
},
{
"value": "Grace Diaz"
},
{
"value": "Juana Matias"
},
{
"value": "Sabrina Matos"
}
]
}
}
}
}
],
"publishSettings" : {
"isPublished": true,
"isAcceptingResponses": true
}
}
مراحل بعدی
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[],["The Google Forms API facilitates creating, modifying, and retrieving data from forms and quizzes. Key actions include creating and updating forms/quizzes, retrieving responses, reading form content/metadata, and setting up push notifications. Quizzes can include grading, answer keys, and feedback. Forms consist of *Items*, like *Questions*, *Question Groups*, and *Sections*. User input is stored as *Answers* in *Responses*. *Watches* track form changes and trigger push notifications.\n"],null,["# Overview\n\nThe Google Forms API is a RESTful interface that lets you create and modify forms\nand quizzes, retrieve form responses and quiz grades, set up quiz answer keys\nwith automatic feedback, and receive push notifications. The most common uses\nof this API include the following tasks:\n\n- Create a form or quiz\n- Publish and manage responders\n- Update a form or quiz\n- Retrieve responses from a form or quiz\n- Read form content and metadata\n- Set up and receive push notifications\n\nThe following is a list of common terms used in the Forms API:\n*Form*\n\n: A Google Forms document, created and stored in Drive. Each\n form is represented by a\n [`Form`](/workspace/forms/api/reference/rest/v1/forms) resource\n and has a unique `formId` value, containing letters, numbers, hyphens, or\n underscores. You can find the form ID in a Google Forms URL:\n\n: `https://docs.google.com/forms/d/FORM_ID/edit`\n\n*Quiz*\n\n: A specific type of Google Forms document that allows for grading of the\n form responses against an answer key. A quiz can only be created by using\n the [`batchUpdate()`](/workspace/forms/api/reference/rest/v1/forms/batchUpdate)\n method to update the `isQuiz` setting on an existing form to `true`.\n\n *Grading*\n : A point value, answer key, and feedback for a question, applied when\n `isQuiz` is `true`. Represented by the\n [`Grading`](/workspace/forms/api/reference/rest/v1/forms#grading) resource.\n\n *Feedback*\n : A response given to the end user when responding to a question on a quiz,\n represented by the [`Feedback`](/workspace/forms/api/reference/rest/v1/Feedback)\n resource.\n\n*Item*\n\n: A single element in a form, represented by the\n [Item](/workspace/forms/api/reference/rest/v1/forms#item) resource. `Item` is a\n repeating element which can contain a section, question group, question,\n text, image, or video.\n\n*Question*\n\n: A single question on the form, represented by the\n [`Question`](/workspace/forms/api/reference/rest/v1/forms#question) resource.\n\n*Question group*\n\n: A group of questions that all share the same set of possible answers (for\n example, a grid of ratings from 1 to 5). Represented by the\n [`QuestionGroupItem`](/workspace/forms/api/reference/rest/v1/forms#questiongroupitem)\n resource.\n\n*Section*\n\n: A section is a way to break up a form into multiple pages and add\n conditional logic (such as only showing certain questions based on how the\n user answers). Sections correspond to the\n [`PageBreakItem`](/workspace/forms/api/reference/rest/v1/forms#PageBreakItem)\n resource.\n\n*Answer*\n\n: The end user's answer to a question, represented by the\n [`Answer`](/workspace/forms/api/reference/rest/v1/forms.responses#Answer)\n resource. Includes both grade information (if present), metadata, and the\n content of the answer.\n\n*Response*\n\n: The end user's submission of a form, represented by the\n [`FormResponse`](/workspace/forms/api/reference/rest/v1/forms.responses)\n resource.\n\n*Watch*\n\n: A trigger that tracks changes to either form schema changes (such as edits\n to questions) or form response submissions and sends a push notification when\n a change occurs. Represented by the\n [`Watch`](/workspace/forms/api/reference/rest/v1/forms.watches) resource.\n\nForm structure\n--------------\n\nWhen managing forms and quizzes, understanding how to specify different fields\ncan be complicated, given that many of the form objects can be nested inside\neach other in multiple ways. To see how the visual representation of a form\nmaps to the fields, we recommend using the UI to create a few examples of\nforms your application might generate. Then retrieve the corresponding JSON\nusing the\n[`forms.get()`](/workspace/forms/api/reference/rest/v1/forms/get) method\nso you can compare. For example,\n[this example quiz](https://docs.google.com/forms/d/e/1FAIpQLSd0iBLPh4suZoGW938EU1WIxzObQv_jXto0nT2U8HH2KsI5dg/viewform)\ncorresponds to the following JSON: \n\n {\n \"formId\": \"FORM_ID\",\n \"info\": {\n \"title\": \"Famous Black Women\",\n \"description\": \"Please complete this quiz based off of this week's readings for class.\",\n \"documentTitle\": \"API Example Quiz\"\n },\n \"settings\": {\n \"quizSettings\": {\n \"isQuiz\": true\n }\n },\n \"revisionId\": \"00000021\",\n \"responderUri\": \"https://docs.google.com/forms/d/e/1FAIpQLSd0iBLPh4suZoGW938EU1WIxzObQv_jXto0nT2U8HH2KsI5dg/viewform\",\n \"items\": [\n {\n \"itemId\": \"5d9f9786\",\n \"imageItem\": {\n \"image\": {\n \"contentUri\": \"DIRECT_URL\",\n \"properties\": {\n \"alignment\": \"LEFT\"\n }\n }\n }\n },\n {\n \"itemId\": \"72b30353\",\n \"title\": \"Which African American woman authored \\\"I Know Why the Caged Bird Sings\\\"?\",\n \"questionItem\": {\n \"question\": {\n \"questionId\": \"25405d4e\",\n \"required\": true,\n \"grading\": {\n \"pointValue\": 2,\n \"correctAnswers\": {\n \"answers\": [\n {\n \"value\": \"Maya Angelou\"\n }\n ]\n }\n },\n \"choiceQuestion\": {\n \"type\": \"RADIO\",\n \"options\": [\n {\n \"value\": \"Maya Angelou\"\n },\n {\n \"value\": \"bell hooks\"\n },\n {\n \"value\": \"Alice Walker\"\n },\n {\n \"value\": \"Roxane Gay\"\n }\n ]\n }\n }\n }\n },\n {\n \"itemId\": \"0a4859c8\",\n \"title\": \"Who was the first Dominican-American woman elected to state office?\",\n \"questionItem\": {\n \"question\": {\n \"questionId\": \"37fff47a\",\n \"grading\": {\n \"pointValue\": 2,\n \"correctAnswers\": {\n \"answers\": [\n {\n \"value\": \"Grace Diaz\"\n }\n ]\n }\n },\n \"choiceQuestion\": {\n \"type\": \"RADIO\",\n \"options\": [\n {\n \"value\": \"Rosa Clemente\"\n },\n {\n \"value\": \"Grace Diaz\"\n },\n {\n \"value\": \"Juana Matias\"\n },\n {\n \"value\": \"Sabrina Matos\"\n }\n ]\n }\n }\n }\n }\n ],\n \"publishSettings\" : {\n \"isPublished\": true,\n \"isAcceptingResponses\": true\n }\n }\n\nNext steps\n----------\n\n- To learn about developing with Google Workspace APIs, including handling authentication and authorization, refer to [Get started as a Workspace developer](/workspace/guides/getstarted-overview).\n- To learn how to configure and run a basic Forms API app, read the [Quickstarts overview](/workspace/forms/api/guides/quickstarts-overview)."]]