Genel bakış

Google Formlar API'si, form oluşturmanıza ve mevcut formları değiştirmenize olanak tanıyan bir RESTful arayüzüdür. ve testler, form yanıtlarını ve test notlarını alma, test cevap anahtarlarını ayarlama otomatik geri bildirim alabilir ve push bildirimleri alabilirsiniz. En yaygın kullanım alanları aşağıdaki görevleri içerir:

  • 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 Form kaynağıyla temsil edilir ve benzersiz bir formId değerine sahip olan alt çizgi. 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ü bir yanıt anahtarıyla karşılaştıralım. Test yalnızca batchUpdate() yöntemini kullanarak isQuiz ayarını true olarak güncelleyebilirsiniz.

Notlandırma
Soru için uygulanan puan değeri, cevap anahtarı ve geri bildirim isQuiz true. 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 bir bölüm, soru grubu, soru veya metin, resim veya video olabilir.

Soru

Formda, Question kaynağı.

Soru grubu

Aynı olası cevapları paylaşan bir soru grubu (örneğin, (1'den 5'e kadar bir puan tablosu). temsil eden QuestionGroupItem gösterir.

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 gösterir.

Yanıt

Son kullanıcının bir soruya verdiği yanıt, Answer gösterir. Hem not bilgilerini (varsa), meta verileri hem de içeriğine sahip olabilir.

Yanıt

Son kullanıcının FormResponse kaynağı.

İ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. temsil eden Watch kaynağı.

Form yapısı

Formları ve testleri yönetirken, farklı alanların nasıl belirtileceğini anlama form nesnelerinin birçoğu iç içe yerleştirilebildiğinden karmaşık pek çok yolu vardır. Bir formun görsel temsilinin eşlendiği için, kullanıcı arayüzünü kullanarak birkaç örnek oluşturmak için oluşturabilirsiniz. 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