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
  • Form veya test yanıtlarını alma
  • Form içeriğini ve meta verilerini okuma
  • Push bildirimlerini ayarlama ve alma

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

Form

Drive'da oluşturulup 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 bir cevap anahtarına göre notlandırılmasına olanak tanıyan belirli bir Google Formlar belgesi türü. Test oluşturmak için yalnızca batchUpdate() yöntemi kullanılarak mevcut bir formdaki isQuiz ayarı true olarak güncellenebilir.

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

Formdaki tek bir öğedir ve Öğe kaynağıyla temsil edilir. 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ölme ve koşullu mantık ekleme (ör. kullanıcının yanıtına göre yalnızca belirli soruları gösterme) yöntemidir. 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 gönderdiği form (FormResponse kaynağıyla temsil edilir).

İzleyin

Form şemasında yapılan değişiklikleri (ör. sorularda yapılan düzenlemeler) veya form yanıtı gönderimlerinde yapılan değişiklikleri izleyen ve değişiklik olduğunda push bildirimi gönderen bir tetikleyici. 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, karşılaştırma yapabilmek için forms.get() yöntemini kullanarak ilgili JSON'ı 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

  • Kimlik doğrulama ve yetkilendirme işlemleri dahil olmak üzere Google Workspace API'lerini kullanarak geliştirme yapma hakkında bilgi edinmek için Workspace geliştiricisi olarak başlama başlıklı makaleyi inceleyin.
  • Basit bir Forms API uygulamasının nasıl yapılandırılacağını ve çalıştırılacağını öğrenmek için Hızlı başlangıçlara genel bakış başlıklı makaleyi inceleyin.