ההגדרה של פרויקט 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.