Google Forms API הוא ממשק RESTful שמאפשר ליצור טפסים ולשנות אותם וחידונים, אחזור תשובות לטפסים וציונים לבחנים, הגדרת מפתחות תשובות לבחנים עם משוב אוטומטי, ולקבל התראות. השימושים הנפוצים ביותר ב-API הזה כוללות את המשימות הבאות:
- יצירת טופס או בוחן
- עדכון טופס או בוחן
- אחזור תשובות מטופס או מבוחן
- קריאת התוכן והמטא-נתונים של הטופס
- הגדרה וקבלה של התראות
בטבלה הבאה ריכזנו רשימה של מונחים נפוצים שמופיעים ב-Forms API:
- טופס
מסמך ב-Google Forms שנוצר ונשמר ב-Drive. כל טופס מיוצג על ידי משאב
Form
והוא בעל ערךformId
ייחודי, שכולל אותיות, מספרים, מקפים או קווים תחתונים. מזהה הטופס מופיע בכתובת ה-URL של Google Forms:https://docs.google.com/forms/d/FORM_ID/edit
- בוחן
סוג ספציפי של מסמך ב-Google Forms שמאפשר לתת ציונים תשובות לטופס לפי מפתח תשובות. אפשר ליצור בוחן רק באמצעות
batchUpdate()
כדי לעדכן את ההגדרהisQuiz
בטופס קיים ל-true
.- פריט
רכיב יחיד בצורה, שמיוצג על ידי משאב פריט.
Item
הוא רכיב שחוזר על עצמו, שיכול להכיל קטע, קבוצת שאלות, שאלה טקסט, תמונה או סרטון.- שאלה
שאלה אחת בטופס, שמיוצגת על ידי משאב
Question
.- קבוצת שאלות
קבוצה של שאלות שיש להן אותה קבוצה של תשובות אפשריות (לכן לדוגמה, רשת של דירוגים מ-1 עד 5). מיוצג על ידי
QuestionGroupItem
משאב.- Section
קטע מאפשר לחלק טופס לכמה דפים ולהוסיף אותו לוגיקה מותנית (למשל, הצגת שאלות מסוימות בלבד על סמך האופן שבו התשובות של המשתמשים). הקטעים שתואמים את
PageBreakItem
משאב.- תשובה
התשובה של משתמש הקצה לשאלה, המיוצגת על ידי
Answer
משאב. כולל מידע על הציונים (אם קיים), מטא-נתונים את התוכן של התשובה.- תגובה
שליחה של טופס על ידי משתמש הקצה, מיוצג על ידי משאב
FormResponse
.- לצפות
טריגר שעוקב אחרי שינויים בכל אחד מהשינויים בסכימת הטפסים (כמו עריכות) לשאלות) או שליחה של תשובות לטופס, ותישלח התראה מתרחש שינוי. מיוצג על ידי משאב
Watch
.
מבנה הטופס
בניהול טפסים ובחנים, הבנת האופן שבו ניתן לציין שדות שונים
יכול להיות מורכב, כי הרבה מהאובייקטים בטופס יכולים להיות מקוננים
בכמה דרכים. כדי לבדוק איך הטופס מוצג בייצוג החזותי שלו
ממופה לשדות, מומלץ להשתמש בממשק המשתמש כדי ליצור כמה דוגמאות
שהאפליקציה שלכם עשויה ליצור. לאחר מכן מאחזרים את קובץ ה-JSON התואם
באמצעות השיטה forms.get()
כדי שאפשר יהיה להשוות. לדוגמה,
הבוחן לדוגמה הזה תואם לקובץ ה-JSON הבא:
{
"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"
}
]
}
}
}
}
]
}
השלבים הבאים
- כדי ללמוד על פיתוח עם Google Workspace APIs, כולל טיפול אימות והרשאה, מתייחסים מתחילים לעבוד כמפתחים של Workspace.
- כדי ללמוד איך להגדיר ולהפעיל אפליקציה פשוטה של Forms API, אפשר לקרוא את סקירה כללית של מדריכים למתחילים.