खास जानकारी

Google Forms API, एक RESTful इंटरफ़ेस है. इसकी मदद से, फ़ॉर्म और क्विज़ बनाए जा सकते हैं और उनमें बदलाव किए जा सकते हैं. साथ ही, फ़ॉर्म के जवाब और क्विज़ के ग्रेड वापस पाएं, अपने-आप मिलने वाले सुझावों के साथ क्विज़ के जवाब की कुंजियां सेट अप करें, और पुश नोटिफ़िकेशन पाएं. इस एपीआई का इस्तेमाल आम तौर पर इन कामों के लिए किया जाता है:

  • फ़ॉर्म या क्विज़ बनाना
  • किसी फ़ॉर्म या क्विज़ को अपडेट करना
  • किसी फ़ॉर्म या क्विज़ से जवाब पाना
  • फ़ॉर्म का कॉन्टेंट और मेटाडेटा पढ़ना
  • पुश नोटिफ़िकेशन सेट अप करना और उन्हें पाना

Forms API में इस्तेमाल होने वाले सामान्य शब्दों की सूची यहां दी गई है:

फ़ॉर्म

Google Forms का दस्तावेज़, जिसे Drive में बनाया और सेव किया गया है. हर फ़ॉर्म को Form रिसॉर्स से दिखाया जाता है. साथ ही, इसमें एक यूनीक formId वैल्यू होती है, जिसमें अक्षर, संख्याएं, हाइफ़न या अंडरस्कोर होते हैं. Google Forms के यूआरएल में फ़ॉर्म आईडी देखा जा सकता है:

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

क्विज़

Google Forms का एक खास तरह का दस्तावेज़, जो जवाब कुंजी के हिसाब से फ़ॉर्म के जवाबों को ग्रेड करने की सुविधा देता है. क्विज़ बनाने के लिए, किसी मौजूदा फ़ॉर्म की isQuiz सेटिंग को true पर अपडेट करने के लिए, सिर्फ़ batchUpdate() तरीका इस्तेमाल किया जा सकता है.

ग्रेडिंग
किसी सवाल के लिए पॉइंट की वैल्यू, जवाब कुंजी, और सुझाव, शिकायत या राय. यह तब लागू होता है, जब isQuiz की वैल्यू true हो. इसे Grading संसाधन से दिखाया जाता है.
सुझाव, राय या शिकायत
क्विज़ में किसी सवाल का जवाब देते समय, असली उपयोगकर्ता को दिया गया जवाब. इसे Feedback संसाधन से दिखाया जाता है.
Item

फ़ॉर्म में मौजूद एक एलिमेंट, जिसे आइटम संसाधन से दिखाया जाता है. Item एक ऐसा एलिमेंट है जो बार-बार दिखता है. इसमें सेक्शन, सवाल का ग्रुप, सवाल, टेक्स्ट, इमेज या वीडियो शामिल हो सकता है.

सवाल

फ़ॉर्म में एक सवाल, जिसे Question रिसॉर्स से दिखाया गया है.

सवालों का ग्रुप

सवालों का ऐसा ग्रुप जिसमें सभी सवालों के लिए जवाबों का एक ही सेट होता है. उदाहरण के लिए, 1 से 5 तक की रेटिंग वाला ग्रिड. इसे QuestionGroupItem संसाधन से दिखाया जाता है.

Section

सेक्शन की मदद से, फ़ॉर्म को कई पेजों में बांटा जा सकता है और शर्त के हिसाब से लॉजिक जोड़ा जा सकता है. जैसे, उपयोगकर्ता के जवाब के आधार पर कुछ सवाल दिखाना. सेक्शन, PageBreakItem संसाधन से जुड़े होते हैं.

जवाब दें

किसी सवाल का असली उपयोगकर्ता का जवाब, जिसे Answer रिसोर्स से दिखाया जाता है. इसमें ग्रेड की जानकारी (अगर मौजूद हो), मेटाडेटा, और जवाब का कॉन्टेंट, दोनों शामिल होते हैं.

रिस्पॉन्स

जब असली उपयोगकर्ता कोई फ़ॉर्म सबमिट करता है, तो उसे FormResponse संसाधन से दिखाया जाता है.

देखें

यह एक ट्रिगर है, जो फ़ॉर्म स्कीमा में होने वाले बदलावों (जैसे, सवालों में बदलाव) या फ़ॉर्म के जवाब सबमिट करने पर होने वाले बदलावों को ट्रैक करता है. साथ ही, कोई बदलाव होने पर पुश नोटिफ़िकेशन भेजता है. इसे Watch संसाधन से दिखाया जाता है.

फ़ॉर्म का स्ट्रक्चर

फ़ॉर्म और क्विज़ मैनेज करते समय, अलग-अलग फ़ील्ड तय करने का तरीका समझना मुश्किल हो सकता है. इसकी वजह यह है कि फ़ॉर्म के कई ऑब्जेक्ट, एक-दूसरे के अंदर कई तरीकों से नेस्ट किए जा सकते हैं. यह देखने के लिए कि फ़ॉर्म का विज़ुअल रीप्रज़ेंटेशन, फ़ील्ड से कैसे मैप होता है, हमारा सुझाव है कि आप यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, कुछ ऐसे फ़ॉर्म बनाएं जो आपके ऐप्लिकेशन से जनरेट हो सकते हैं. इसके बाद, तुलना करने के लिए, forms.get() तरीके का इस्तेमाल करके, उससे जुड़ा JSON पाएं. उदाहरण के लिए, यह क्विज़ का उदाहरण, इस 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"
              }
            ]
          }
        }
      }
    }
  ]
}

अगले चरण