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