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ı 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 Forms dokümanı. Her form bir
Form
kaynağıyla temsil edilir ve harf, sayı, kısa çizgi veya alt çizgi içeren benzersiz birformId
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 formdakiisQuiz
ayarıtrue
olarak güncellenebilir.- Öğ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ğı tarafından 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'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 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.