بررسی اجمالی

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"
              }
            ]
          }
        }
      }
    }
  ]
}

مراحل بعدی