Google Forms API הוא ממשק RESTful שמאפשר ליצור ולשנות טפסים ובוחנים, לאחזר תשובות לטפסים וציונים בבוחנים, להגדיר מפתחות תשובות לבוחנים עם משוב אוטומטי ולקבל התראות בדחיפה. השימושים הנפוצים ביותר ב-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
}
}
השלבים הבאים
- כדי לקבל מידע על פיתוח באמצעות ממשקי API של Google Workspace, כולל טיפול באימות ובמתן הרשאות, אפשר לעיין במאמר תחילת העבודה כמפתחים ב-Workspace.
- במאמר סקירה כללית של המדריכים למתחילים מוסבר איך להגדיר ולהריץ אפליקציה בסיסית של Forms API.