קל להגדיר פרויקט של 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.
- מסמנים את התיבה הצגת קובץ המניפסט 'Appscript.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" ], ... }
לוחצים על
Save project (שמירה של הפרויקט) ומתקנים את שגיאות התחביר לפי הצורך. עכשיו אמורה להיות לך אפשרות לקרוא ל-Google Forms API באמצעות קריאת REST.
הוספת קוד של Apps Script לקריאה ל-API
לפני שכותבים את הקוד לקריאה לטופס, צריך לזהות טופס שבבעלותכם שכולל תשובות ולתעד את מזהה הטופס. מזהה הטופס מופיע בכתובת ה-URL כשעורכים את הטופס:
https://docs.google.com/forms/d/<FORM_ID>/edit
כדי לקרוא ל-API, משתמשים בקריאה UrlFetchApp
של Apps Script.
פותחים את Code.gs ומוסיפים את הקוד הבא:
מחליפים את
YOUR_FORM_ID
בערך שציינתם קודם.לדוגמה:
var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';
לוחצים על
Save project (שמירת הפרויקט) ומתקנים את שגיאות התחביר, אם יש כאלה.
בדיקת הקוד
- לוחצים על Run.
- נותנים הרשאה לפרויקט לפי הצורך באמצעות אותו מזהה 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.