ההגדרה של פרויקט Apps Script כדי לקרוא ישירות ל-Google Forms API באמצעות קריאת REST היא פשוטה. אם כבר הגדרתם פרויקט ב-Google Cloud, אתם יכולים לבצע את הפעולות הבאות:
- יוצרים פרויקט חדש ב-Apps Script.
- משנים את מספר הפרויקט המשויך ב-Google Cloud כך שיתאים לפרויקט שהפעלתם עבור Google Forms API.
- עורכים את קובץ המניפסט (
appsscript.json) כדי להוסיף את היקפי ההרשאות הנדרשים של OAuth. - מוסיפים קוד Apps Script כדי לאחזר טוקן OAuth ולבצע קריאת REST באמצעות הטוקן.
הנה הסבר קצר על השלבים האלה.
יצירה והגדרה של פרויקט חדש של Apps Script
- באמצעות אותו מזהה Google שבו הגדרתם את פרויקט GCP, עוברים אל לוח הבקרה של Apps Script, ולוחצים על פרויקט חדש.
- אחרי שפותחים את הפרויקט, לוחצים על Project Settings (הגדרות הפרויקט).
- מסמנים את התיבה הצגת קובץ המניפסט 'appsscript.json' בעורך.
- בקטע Google Cloud Platform (GCP) Project, לוחצים על Change project ומזינים את מספר הפרויקט ב-GCP שהגדרתם עבור Forms API.
הפרויקט שלכם ב-Apps Script מוגדר עכשיו לגישה ל-Google Forms API. השלב הבא שחובה לבצע הוא הוספת היקפי ההרשאות המתאימים של OAuth.
הוספת היקפי הרשאות של OAuth
כדי ליצור טוקן OAuth עם היקף הרשאות מתאים ב-Apps Script, צריך להגדיר את היקפי ההרשאות הנדרשים בקובץ המניפסט של הפרויקט.
- בעורך, פותחים את הקובץ
appsscript.json. מוסיפים את ההיקפים לגוף המניפסט.
{ ... "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/forms.body", "https://www.googleapis.com/auth/forms.body.readonly", "https://www.googleapis.com/auth/forms.responses.readonly" ], ... }לוחצים על שמירת הפרויקט ומתקנים שגיאות תחביר אם צריך. מעכשיו הפרויקט יכול להפעיל את Google Forms API באמצעות קריאה ל-REST.
הוספת קוד Apps Script כדי לשלוח קריאה ל-API
לפני שכותבים את הקוד לקריאה לטופס, צריך לזהות טופס בבעלותכם שיש בו תשובות ולרשום את מזהה הטופס. מזהה הטופס מופיע בכתובת ה-URL כשעורכים את הטופס:
https://docs.google.com/forms/d/<FORM_ID>/edit
כדי להפעיל את ה-API, תשתמשו בקריאה של Apps Script UrlFetchApp.
פותחים את Code.gs ומוסיפים את הקוד הבא:
מחליפים את
YOUR_FORM_IDבערך שרשמתם קודם.לדוגמה:
var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';לוחצים על שמירת הפרויקט ומתקנים שגיאות תחביר אם צריך.
בדיקת הקוד
- לוחצים על הפעלה.
- מאשרים את הפרויקט לפי הצורך באמצעות אותו מזהה Google שבו השתמשתם קודם.
אחרי שהסקריפט יתחיל לפעול, תופיע תגובה ביומן הביצוע שדומה לזו:
Execution started
Calling the Forms API!
OAuth token is: ya29.a0ARrdaM8IMjtlv…
formsAPIUrl is: https://forms.googleapis.com/v1beta/forms/…/responses
Response from Forms.responses was: {
"responses": [
{
"responseId":"...",
"createTime": "2021-03-25T01:23:58.146Z",
"lastSubmittedTime": "2021-03-25T01:23:58.146607Z",
"answers": {
"1e9b0ead": {
"questionId": "1e9b0ead",
"textAnswers": {
"answers": [
{
"value": "Red"
}
]
}
},
"773ed8f3": {
"questionId": "773ed8f3",
"textAnswers": {
"answers": [
{
"value": "Tesla"
}
]
}
}
}
}
]
}
Execution completed
השלבים הבאים
אחרי שקוראים ל-API באמצעות Apps Script, אפשר לעיין במסמכי העזר ולנסות לבצע קריאות אחרות ל-API.