Google Forms API הוא ממשק RESTful שמאפשר ליצור ולשנות טפסים ובוחנים, לאחזר תשובות לטפסים וציונים בבוחנים, להגדיר מפתחות תשובות לבוחנים עם משוב אוטומטי ולקבל התראות Push. השימושים הנפוצים ביותר ב-API הזה כוללים את המשימות הבאות:
- יצירת טופס או בוחן
- פרסום וניהול של משיבים
- עדכון של טופס או בוחן
- איך מאחזרים תשובות מטופס או מבוחן
- קריאת תוכן ומטא-נתונים של טפסים
- הגדרה וקבלת התראות
- בהמשך מופיעה רשימה של מונחים נפוצים שמשמשים בממשק Forms API:
- טופס
מסמך Google Forms שנוצר ונשמר ב-Drive. כל טופס מיוצג על ידי משאב
Formויש לו ערךformIdייחודי שמכיל אותיות, מספרים, מקפים או קווים תחתונים. מזהה הטופס מופיע בכתובת ה-URL של הטופס:https://docs.google.com/forms/d/FORM_ID/edit- בוחן
סוג ספציפי של מסמך Google Forms שמאפשר לתת ציון לתשובות בטופס בהשוואה למפתח תשובות. אפשר ליצור בוחן רק באמצעות השיטה
batchUpdate()כדי לעדכן את ההגדרהisQuizבטופס קיים לערךtrue.- פריט
רכיב יחיד בטופס, שמיוצג על ידי מקור המידע Item.
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": "Famous Black Women"
},
"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"
}
]
}
}
}
}
],
"publishSettings" : {
"isPublished": true,
"isAcceptingResponses": true
}
}
השלבים הבאים
- כדי ללמוד על פיתוח באמצעות Google Workspace APIs, כולל טיפול באימות ובמתן הרשאות, אפשר לעיין במאמר תחילת העבודה כמפתח Workspace.
- כדי ללמוד איך להגדיר ולהריץ אפליקציה בסיסית של Forms API, אפשר לקרוא את סקירת המדריכים למתחילים.