Genel bakış

Google Formlar API, form ve test oluşturmanıza ve değiştirmenize, form yanıtlarını ve test notlarını almanıza, otomatik geri bildirimle test yanıt anahtarları oluşturmanıza ve push bildirimleri almanıza olanak tanıyan RESTful bir arayüzdür. Bu API'nin 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 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üdür. Test yalnızca batchUpdate() yöntemi kullanılarak mevcut bir formdaki isQuiz ayarı true olarak güncellenerek oluşturulabilir.

Notlandırma
isQuiz true olduğunda uygulanan puan değeri, cevap anahtarı ve geri bildirim. Grading kaynağı tarafından temsil edilir.
Geri bildirim
Testte bir soruya yanıt verirken son kullanıcıya verilen yanıt. Bu yanıt Feedback kaynağında gösterilir.
Öğe

Bir formdaki Item kaynağıyla gösterilen tek bir öğe. Item tekrarlayan bir öğedir ve bölüm, soru grubu, soru, metin, resim veya video içerebilir.

Soru

Formda, Question kaynağıyla gösterilen tek bir soru.

Soru grubu

Hepsinin aynı olası yanıtları paylaşan bir soru grubu (örneğin, 1'den 5'e kadar bir puan tablosu). QuestionGroupItem kaynağı tarafından temsil edilir.

Section

Bölümler, bir formu birden fazla sayfaya ayırmanın ve koşullu mantık (kullanıcının verdiği yanıtlara göre yalnızca belirli soruları göstermek gibi) eklemenin bir yoludur. Bölümler, PageBreakItem kaynağına karşılık gelir.

Yanıt

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

Yanıt

Son kullanıcının FormResponse kaynağıyla gösterilen bir form gönderimi.

İzleyin

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

Form yapısı

Formları ve testleri yönetirken, form nesnelerinin birçoğu birbirlerinin içine farklı şekillerde yerleştirilebilir. Bu nedenle, 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 formlara birkaç örnek 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