खास जानकारी

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

अगले चरण

  • Google Workspace के एपीआई का इस्तेमाल करके ऐप्लिकेशन डेवलप करने के बारे में जानने के लिए, Workspace डेवलपर के तौर पर शुरुआत करना लेख पढ़ें. इसमें पुष्टि करने और अनुमति देने की सुविधा को मैनेज करने के बारे में भी बताया गया है.
  • Forms API के किसी आसान ऐप्लिकेशन को कॉन्फ़िगर और चलाने का तरीका जानने के लिए, क्विकस्टार्ट की खास जानकारी पढ़ें.