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
  • Yanıtlayıcıları yayınlama ve yönetme
  • Formu veya testi güncelleme
  • Form veya testten yanıtları alma
  • Form içeriğini ve meta verilerini okuma
  • Push bildirimlerini ayarlama ve alma
Aşağıda, Forms API'de kullanılan yaygın terimlerin listesi verilmiştir:
Form

Drive'da oluşturulup depolanan bir Google Formlar dokümanı. Her form, 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 puanlanmasına olanak tanıyan belirli bir Google Formlar dokümanı türü. Test yalnızca mevcut bir formdaki isQuiz ayarını true olarak güncellemek için batchUpdate() yöntemi kullanılarak oluşturulabilir.

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

Formdaki tek bir öğe, Item kaynağıyla temsil edilir. Item; bölüm, soru grubu, soru, metin, resim veya video içerebilen, tekrar eden bir öğedir.

Soru

Formdaki tek bir soru, Question kaynağıyla temsil edilir.

Soru grubu

Olası yanıtları aynı olan bir grup soru (örneğin, 1'den 5'e kadar derecelendirmelerin yer aldığı bir tablo). QuestionGroupItem kaynağıyla temsil edilir.

Section

Bölüm, bir formu birden fazla sayfaya bölmenin ve koşullu mantık (ör. kullanıcının yanıtına göre yalnızca belirli soruları gösterme) eklemenin bir yoludur. 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 gösterilir. Not bilgileri (varsa), meta veriler ve yanıtın içeriği yer alır.

Yanıt

Son kullanıcının form göndermesi, FormResponse kaynağıyla gösterilir.

İzleyin

Form şemasındaki değişiklikleri (ör. sorularda yapılan düzenlemeler) veya form yanıtı gönderimlerini izleyen ve değişiklik olduğunda push bildirimi gönderen bir tetikleyici. Watch kaynağıyla temsil edilir.

Form yapısı

Form ve test yönetirken farklı alanların nasıl belirtileceğini anlamak, form nesnelerinin birçoğu birden fazla şekilde iç içe yerleştirilebildiğinden karmaşık olabilir. Formun görsel temsilinin alanlarla nasıl eşlendiğini görmek için uygulamanızın oluşturabileceği formlara dair birkaç örnek oluşturmak üzere kullanıcı arayüzünü kullanmanızı öneririz. Ardından, karşılaştırma yapabilmek için forms.get() yöntemini kullanarak ilgili JSON'ı alın. Örneğin, bu örnek sınav 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"
              }
            ]
          }
        }
      }
    }
  ],
  "publishSettings" : {
    "isPublished": true,
    "isAcceptingResponses": true
  }
}

Sonraki adımlar