Genel bakış

Google Forms API; form ve testleri oluşturup değiştirmenize, form yanıtlarını ve test notlarını almanıza, otomatik geri bildirimlerle test yanıt anahtarları oluşturmanıza ve push bildirimleri almanıza olanak tanıyan bir RESTful arayüzüdür. Bu API'nin en yaygın kullanım alanları arasında aşağıdaki görevler yer alır:

  • Form veya test oluşturma
  • Formu veya testi güncelleme
  • Bir form veya testten yanıt alma
  • Form içeriğini ve meta verileri okuma
  • Push bildirimlerini ayarlama ve alma

Formlar API'sinde kullanılan yaygın terimlerin listesi aşağıda verilmiştir:

Form

Drive'da oluşturulan ve depolanan bir Google Formlar dokümanı. Her form bir Form kaynağıyla temsil edilir ve harf, sayı, kısa çizgi veya alt çizgi içeren benzersiz bir formId değerine sahiptir. Form kimliğini Google Formlar URL'sinde bulabilirsiniz:

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

Test

Ödevin notlandırılmasına olanak tanıyan belirli bir Google Formlar dokümanı türü yanıt anahtarıyla karşılaştırabilirsiniz. Test yalnızca batchUpdate() yöntemini kullanarak isQuiz ayarını true olarak güncelleyebilirsiniz.

Not verme
isQuiz true olduğunda uygulanan bir soru için puan değeri, cevap anahtarı ve geri bildirim. temsil eden Grading kaynağı.
Geri bildirim
Bir testte son kullanıcıya verilen yanıt, Feedback ile temsil edilir gösterir.
Öğe

Bir formda, Öğe kaynağı. Item, bölüm, soru grubu, soru, metin, resim veya video içerebilen yinelenen bir öğedir.

Soru

Formdaki tek bir sorudur ve Question kaynağıyla temsil edilir.

Soru grubu

Hepsi aynı olası yanıt grubunu paylaşan bir soru grubu (ör. 1 ile 5 arasında derecelendirmelerden oluşan bir ızgara). QuestionGroupItem kaynağıyla temsil edilir.

Section

Bölümler, bir formu birden fazla sayfaya bölmenin ve formun sayfalarında koşullu mantık (ör. yalnızca kullanıcı yanıtları). Bölümler, PageBreakItem kaynağına karşılık gelir.

Yanıt

Son kullanıcının bir soruya verdiği yanıt. Answer kaynağıyla temsil edilir. Hem not bilgilerini (varsa), meta verileri hem de yanıtın içeriğini içerir.

Yanıt

Son kullanıcının FormResponse kaynak.

İzleyin

Form şemalarından herhangi birinde (düzenlemeler gibi) yapılan değişiklikleri izleyen bir tetikleyici veya form yanıtı gönderimleri olduğunda push bildirimi gönderir. değişiklik meydana gelir. Watch kaynağıyla temsil edilir.

Form yapısı

Form nesnelerinin çoğunun birbirinin içine birden fazla şekilde yerleştirilebilmesi nedeniyle, formları ve testleri yönetirken farklı alanları nasıl belirteceğinizi anlamak karmaşık olabilir. Bir formun görsel temsilinin alanlarla nasıl eşleştiğini görmek için uygulamanızın oluşturabileceği birkaç form örneği oluşturmak üzere kullanıcı arayüzünü kullanmanızı öneririz. Ardından ilgili JSON dosyasını alın. forms.get() yöntemini kullanarak Böylece karşılaştırma yapabilirsiniz. Örneğin, bu örnek test aşağıdaki JSON'a karşılık gelir:

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

Sonraki adımlar