קל להגדיר פרויקט ב-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 ולוחצים על New project.
- כשהפרויקט פתוח, לוחצים על Project Settings (הגדרות הפרויקט).
- מסמנים את התיבה Show "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" ], ... }
לוחצים על
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 ומתקנים שגיאות תחביר במקרה הצורך.
בדיקת הקוד
- לוחצים על הפעלה.
- מאשרים את הפרויקט לפי הצורך באמצעות אותו מזהה 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.