खास जानकारी

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 संसाधन में दिखाया जाता है.

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

सवालों का ग्रुप, जिसके सभी जवाबों के लिए एक जैसे जवाब हों. उदाहरण के लिए, एक से पांच तक की रेटिंग का ग्रिड. यह जानकारी 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"
              }
            ]
          }
        }
      }
    }
  ]
}

अगले चरण