השלבים ליצירת מחבר קהילה הם:
- יוצרים פרויקט חדש ב-Apps Script.
- כותבים את קוד המחבר.
- משלימים את קובץ המניפסט של הפרויקט.
יצירת פרויקט חדש ב-Apps Script
כדי ליצור פרויקט חדש, נכנסים אל Google Apps Script. Apps Script ייצור בשבילכם סקריפט ברירת מחדל. אפשר להסיר את הפונקציה myFunction
ולשנות את שם הפרויקט. (מידע נוסף על Apps Script)
כתיבת קוד המחבר
לכל מחבר צריך להגדיר קבוצה ספציפית של פונקציות. אפליקציית האירוח (למשל Looker Studio) תבצע את הפונקציות האלה. המחבר שלכם אמור לטפל בבקשות נכנסות ולהגיב כמו שמתואר בהפניה ל-API של מחבר לקהילה. אם נתקלתם בבעיות במהלך פיתוח הקוד, תוכלו להיעזר במדריך לניפוי באגים.
הגדרת סוג האימות בפונקציה getAuthType()
הפונקציה הזו נקראת כדי לזהות את שיטת האימות שמשמשת את שירות הצד השלישי. פרטים נוספים מפורטים במאמר בנושא getAuthType(). שיטות האימות שנתמכות כרגע מפורטות במאמר AuthType
reference.
לדוגמה, המחבר הבא לא דורש אימות:
אם מקור הנתונים דורש אימות OAuth 2.0, צריך לעיין במדריך לאימות OAuth 2.0 ולהוסיף את הפונקציות הנדרשות הנוספות למחבר.
הגדרת התצורה באמצעות getConfig()
הפונקציה getConfig()
נקראת כדי לקבל את ההגדרה של המחבר, כולל הערכים שהמשתמש סיפק והמחבר דורש. פרטים נוספים זמינים במאמר בנושא getConfig()
.
על סמך התשובה שסופקה על ידי getConfig()
, יוצג ב-Looker Studio מסך ההגדרות של המחבר. רשימת רכיבי ההגדרה הנתמכים מופיעה במאמר בנושא ConfigType
.
אם מקור הנתונים דורש תאריך כפרמטר, צריך להפעיל את הפונקציה config.setDateRangeRequired(true). אם אתם צריכים לשאול שאלות לגבי הגדרה מותנית או דינמית, כדאי לעיין במאמר בנושא הגדרה בשלבים.
הדוגמה הבאה היא של מחבר שמחייב את המשתמש להזין קוד של שם חבילת npm. פונקציית getConfig()
מגדירה שדה מידע ושדה קלט:
הגדרת השדות באמצעות getSchema()
הפונקציה הזו נקראת כדי לקבל את הסכימה של הבקשה הנתונה. כל פרמטר הגדרה שמוגדר על ידי הפונקציה getConfig()
יסופק בארגומנט request
. פרטים נוספים מופיעים במאמר בנושא getSchema()
.
יכול להיות שהסכימה קבועה, או שצריך לספק אותה באופן דינמי בזמן השליחה של הבקשה, בהתאם למקור הנתונים של המחבר ולהגדרה שסיפק המשתמש.
לדוגמה, אם מחבר שולף נתוני דוחות על סמך מזהה דוח, יכול להיות שלא תהיה אפשרות לדעת מראש את הנתונים שיוחזרו עבור הדוח הזה, ולכן גם לא את הסכימה.
במקרה כזה, יכול להיות ש-getSchema()
יצטרך לאחזר נתונים ולחשב את הסכימה.
אחזור והחזרה של נתונים באמצעות getData()
הפונקציה הזו נקראת כדי לקבל נתונים עבור הבקשה הנתונה. כל פרמטר הגדרה שמוגדר על ידי הפונקציה getConfig()
יסופק בארגומנט request
. פרטים נוספים מופיעים במאמר בנושא getData()
.
הפרמטרים הבאים מהבקשה getData()
דורשים תשומת לב נוספת:
lastRefresh
lastRefresh
מייצג חותמת זמן שמציינת את השעה של הבקשה האחרונה לרענון הנתונים. אפשר לנתח את הערך באמצעותnew Date(timestampString)
. אם אתם משתמשים ב-Apps Script Cache Service או בשיטת שמירה במטמון אחרת, חותמת הזמןlastRefresh
יכולה לעזור לכם להחליט אם לשלוח בקשת אחזור חדשה למקור הנתונים או להציג נתונים מהמטמון.
dateRange
אם הערך שלdateRangeRequired
מוגדר ל-true
ב-getConfig()
, כל קריאה שלgetData()
תכיל את טווח התאריכים שנבחר בבקשה. פרטים נוספים זמינים במאמר עבודה עם טווחי תאריכים.
בדוגמה הבאה, הנתונים מאוחזרים על סמך הבקשה הנכנסת, והנתונים הסטטיסטיים של החבילה מוחזרים:
השלמת קובץ המניפסט של הפרויקט
קובץ המניפסט מכיל מידע על מחבר הקהילה שנדרש לפריסה ולשימוש במחבר ב-Looker Studio.
כדי לערוך את קובץ המניפסט בסביבת הפיתוח של Apps Script, לוחצים על התפריט תצוגה ואז על הצגת קובץ המניפסט. ייווצר קובץ מניפסט חדש appsscript.json
.
מעדכנים את המניפסט ומוסיפים לו את הנתונים הבאים:
פרטים על מניפסט של Looker Studio מופיעים במאמר בנושא מניפסט.
השלבים הבאים
השלב הבא הוא פריסת מחבר הקהילה.