Genel Bakış

Google Forms API, form ve testler oluşturup değiştirmenize, form yanıtları ve test notlarını almanıza, otomatik geri bildirimle test cevap anahtarları ayarlamanıza ve push bildirimleri almanıza olanak tanıyan RESTful bir arayüzdür. Bu API'nin en yaygın kullanımları aşağıdaki gibidir:

  • 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

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

Form

Drive'da oluşturulup depolanan bir Google Formlar dokümanı. Her form bir Form kaynağı tarafından temsil edilir ve harf, sayı, kısa çizgi veya alt çizgi içeren benzersiz bir formId değerine sahiptir. Form kimliğini bir Google Formlar URL'sinde bulabilirsiniz:

https://docs.google.com/forms/d/FORM_ID/edit

Test

Form yanıtlarının yanıt anahtarına göre notlanmasını sağlayan belirli bir Google Formlar dokümanı türüdür. Test oluşturmak için batchUpdate() yöntemini kullanarak mevcut bir formdaki isQuiz ayarını true olarak güncelleyebilirsiniz.

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

Öğe kaynağı tarafından temsil edilen bir formdaki tek bir öğe. Item, bir bölüm, soru grubu, soru, metin, resim veya video içerebilen tekrar eden bir öğedir.

Question

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

Soru grubu

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

Section

Bölümler, bir formu birden fazla sayfaya bölmenin ve koşullu mantık eklemenin (ör. kullanıcının nasıl yanıt verdiğine göre yalnızca belirli soruları göstermenin) 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. Hem not bilgilerini (varsa), meta verileri hem de yanıtın içeriğini içerir.

Yanıt

Son kullanıcının bir formu göndermesi, FormResponse kaynağıyla temsil edilir.

İzleyin

Şema değişiklikleri (sorulardaki düzenlemeler gibi) veya yanıt gönderme gönderimlerinde yapılan 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, farklı form nesnelerinin birçok şekilde birbirine iç içe yerleştirilmiş olabildiğinden, farklı alanları nasıl belirteceğinizi anlamak karmaşık olabilir. Bir formun görsel sunumunun alanlarla nasıl eşleştiğini görmek için kullanıcı arayüzünü kullanarak uygulamanızın oluşturabileceği form örneklerinden birkaçını oluşturmanızı öneririz. Ardından, karşılaştırma yapmak 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

  • Kimlik doğrulama ve yetkilendirme işlemleri de dahil olmak üzere, Google Workspace API'leri ile geliştirme hakkında daha fazla bilgi edinmek için Workspace geliştiricisi olarak başlama başlıklı makaleyi inceleyin.
  • Basit bir Forms API uygulamasını yapılandırmayı ve çalıştırmayı öğrenmek için Quickstarts'a genel bakış başlıklı makaleyi okuyun.