نظرة عامة

Google Forms API هي واجهة REST تتيح لك إنشاء النماذج وتعديلها. واختبارات، واسترداد إجابات النموذج ودرجات الاختبار، وإعداد مفاتيح إجابات الاختبار مع الملاحظات التلقائية وتلقّي إشعارات فورية الاستخدامات الأكثر شيوعًا في واجهة برمجة التطبيقات هذه المهام التالية:

  • إنشاء نموذج أو اختبار
  • تعديل نموذج أو اختبار
  • استرداد الردود من نموذج أو اختبار
  • قراءة محتوى النموذج والبيانات الوصفية
  • إعداد الإشعارات الفورية وتلقّيها

في ما يلي قائمة بالمصطلحات الشائعة المُستخدَمة في Forms API:

النموذج

مستند "نماذج Google"، تم إنشاؤه وتخزينه في Drive كل نموذج عبارة عن يتم تمثيلها بمورد Form ولها قيمة formId فريدة، تحتوي على أحرف أو أرقام أو واصلات أو الشرطات السفلية. يمكنك العثور على رقم تعريف النموذج في عنوان URL لـ "نماذج Google":

https://docs.google.com/forms/d/FORM_ID/edit

اختبار

يشير هذا المصطلح إلى نوع معيّن من مستندات "نماذج Google" يسمح بتصنيف النموذج. نموذج الردود مقابل مفتاح الإجابة. لا يمكن إنشاء اختبار إلا باستخدام batchUpdate() لتعديل إعداد isQuiz في نموذج حالي إلى true.

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

يشير هذا المصطلح إلى عنصر واحد في نموذج، ويتم تمثيله العنصر. Item هو عنصر متكرر يمكن أن يحتوي على قسم أو مجموعة أسئلة أو سؤال أو نص أو صورة أو فيديو.

السؤال

سؤال واحد في النموذج، يمثله Question.

مجموعة الأسئلة

مجموعة من الأسئلة التي تشترك جميعها في نفس مجموعة الإجابات المحتملة (ل مثل شبكة من التقييمات من 1 إلى 5). يمثلها QuestionGroupItem المصدر.

Section

القسم هو طريقة لتقسيم نموذج إلى صفحات متعددة وإضافة المنطق الشرطي (مثل عرض أسئلة معينة فقط بناءً على كيفية إجابات المستخدم). تتوافق الأقسام مع 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"
              }
            ]
          }
        }
      }
    }
  ]
}

الخطوات التالية

  • لمزيد من المعلومات عن التطوير باستخدام واجهات برمجة التطبيقات في Google Workspace، بما في ذلك معالجة المصادقة والترخيص، فراجع البدء كمطوِّر Workspace
  • لمعرفة كيفية ضبط وتشغيل تطبيق بسيط من واجهة برمجة التطبيقات للنماذج، يمكنك الاطّلاع على نظرة عامة حول البدايات السريعة.