Genel bakış

Google Forms API, form ve test oluşturup değiştirmenize, form yanıtlarını ve test notlarını almanıza, otomatik geri bildirim ile test yanıt anahtarlarını ayarlamanıza ve push bildirimleri almanıza olanak tanıyan RESTful bir arayüzdür. Bu API'nin en yaygın kullanım alanları arasında şunlar yer alır:

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

Aşağıda, Forms API'de yaygın olarak kullanılan terimlerin bir listesini bulabilirsiniz:

Biçim

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

Form yanıtlarının cevap anahtarına göre notlandırılmasına olanak tanıyan belirli bir Google Formlar dokümanı türü. Test yalnızca batchUpdate() yöntemi kullanılarak mevcut bir formdaki isQuiz ayarı true olarak güncellenerek oluşturulabilir.

Not verme
Bir soru için puan değeri, yanıt anahtarı ve geri bildirim, isQuiz true olduğunda uygulanır. Grading kaynağı tarafından temsil edilir.
Geri bildirim
Testte bir soruya yanıt verirken son kullanıcıya verilen yanıt ve Feedback kaynağıyla temsil edilir.
Öğe

Bir formdaki Item kaynağıyla temsil edilen tek bir öğe. Item; bölüm, soru grubu, soru, metin, resim veya video içerebilen tekrarlanan bir öğedir.

Soru

Formda Question kaynağıyla temsil edilen tek bir soru.

Soru grubu

Aynı olası yanıtları paylaşan soru grubu (örneğin, 1 ile 5 arasında puanlama tablosu). QuestionGroupItem kaynağı tarafından temsil edilir.

Section

Bölümler, bir formu birden fazla sayfaya bölmenin ve koşullu mantık (yalnızca kullanıcının yanıt verme şekline göre yalnızca belirli soruları gösterme gibi) ekleme yöntemidir. Bölümler, PageBreakItem kaynağa karşılık gelir.

Yanıt

Son kullanıcının bir soruya verdiği yanıttır. Bu yanıt, Answer kaynağıyla gösterilir. Hem not bilgilerini (varsa), meta verileri hem de yanıtın içeriğini içerir.

Yanıt

Son kullanıcının bir form göndermesi (FormResponse kaynağıyla gösterilir).

İzleyin

Form şeması değişikliklerindeki (sorulardaki düzenlemeler gibi) veya form yanıtı gönderimlerindeki değişiklikleri izleyen ve değişiklik gerçekleştiğinde push bildirimi gönderen bir tetikleyici. Watch kaynağı tarafından temsil edilir.

Form yapısı

Form nesnelerinin birçoğu farklı şekillerde iç içe yerleştirilebileceğinden, formları ve testleri yönetirken farklı alanların nasıl belirtileceğini anlamak karmaşık olabilir. Bir formun görsel temsilinin alanlarla nasıl eşleştiğini görmek için kullanıcı arayüzünü kullanarak uygulamanızın oluşturabileceği formların birkaç örneğini oluşturmanızı öneririz. Ardından, karşılaştırma yapabilmek için forms.get() yöntemini kullanarak ilgili JSON'yi alın. Ö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