לדוגמה, נניח שלמפתח X יש אפליקציית אינטרנט עבור הלקוחות שלו. הלקוחות מתחברים לאפליקציה באמצעות פרטי הכניסה שלהם ויכולים לצפות בנתוני מכירות לחנויות שונות. לכל לקוח יש גישה לרשימה שונה של חנויות. שרוצים להטמיע מרכז בקרה של Looker Studio באפליקציה שלהם, שכשלקוח מתחבר, הלקוח רואה רק את נתוני המכירות של החנויות שיש להם גישה אליהם. הלקוחות לא צריכים להתחבר לחשבון Google שלהם כדי שהתהליך הזה יעבוד.
במסגרת הפתרון המוצע, המפתח יצטרך ליצור מחבר קהילה, מעבירים אסימון דרך כתובת ה-URL המוטמעת, ולאחר מכן מסננים את הנתונים לפי האסימון.
דרישות
- הצופים במרכז הבקרה יתחברו לאפליקציה של הצד השלישי.
- האפליקציה צריכה להעביר אסימון ייחודי למרכז הבקרה של Looker Studio באמצעות כתובת URL להטמעה. אפשר להשתמש באסימון כדי לחפש פרטי מסנן או שפרטי המסנן יוצפנו בתוכם.
- מחבר הקהילה צריך להיות מסוגל להמיר את האסימון למסנן ערכים.
מגבלות
- אם אתם לקוחות של G Suite והאדמין שלכם השבית את השיתוף קובצי Drive אל 'כל מי שיש לו קישור' לא ניתן לשתף לדווח עם משתמשים מחוץ לארגון.
פתרון
כדי להטמיע את הפתרון, צריך לפעול לפי השלבים הבאים.
יצירת אסימון משתמש באפליקציית אינטרנט
ליצור אסימון ייחודי לכל משתמש מחובר באפליקציית האינטרנט שלך. תעביר את האסימון הזה למרכז הבקרה המוטמע בשלב מאוחר יותר.
עליכם להשתמש באסימון כדי לסנן נתונים רלוונטיים. האפשרויות כוללות:
- יצירה של נקודת קצה ל-API שתחזיר נתונים מסוננים או את פרטי המשתמש לאסימון ספציפי.
- להצפין את פרטי המשתמש באסימון כדי שאפשר יהיה לפענח אותו מאוחר יותר במחבר.
יצירת מחבר קהילה חדש
קוראים את המאמר כיצד פועלים מחברים של קהילות ומשלימים את Codelab של מחבר הקהילה כדי להתחיל. משתמשים ב כלים למפתחים מקומיים ליצירת מחברים לביצוע מהיר וקל יותר או בלתי מונחית.
כתיבת קוד המחבר
getConfig()
צריך להחזיר לפחות פריט config אחד. כתובת האימייל הזו תשמש לתעד אסימון מהפרמטרים של כתובת ה-URL המוטמעת.function getConfig(request) { var cc = DataStudioApp.createCommunityConnector(); var config = cc.getConfig(); config .newTextInput() .setId('token') .setName('Enter user token'); // TODO: Add additional config values if applicable for your connector config.setDateRangeRequired(false); config.setIsSteppedConfig(false); return config.build(); }
לאפליקציה
getData()
תהיה גישה לאסימון דרך אובייקטrequest.configParams
. להשתמש באסימון כדי לאחזר נתונים מסוננים או לסנן נתונים קיימים שאוחזרו.
בהמשך לדוגמה שלמעלה, האסימון יהיהrequest.configParams.token
. ב-getData()
, האסימון מועבר ל-REST נקודת קצה ב-API לקבלת רשימה של מזהי חנויות. לאחר מכן נעשה שימוש במזהי החנויות האלה לבנות את שאילתת ה-SQL כדי לאחזר נתוני מכירות.var STORE_ID_API = 'https://www.example.com/api/storeid'; var QUERY_STRING_PREFIX = "SELECT StoreName, Sales from stores" function getData(request) { var token = request.configParams.token; var storeIds = getStoreIdList(token); var queryString = constructQueryString(storeIds); var fetchedData = fetchData(queryString); // rest of getData() implementation } function getStoreIdList(token) { var url = STORE_ID_API; var response = UrlFetchApp.fetch(url); var parsedResponse = JSON.parse(response); return parsedResponse.storeIds; } function constructQueryString(storeIds) { var storeIdString = storeIds.join(','); var queryString = QUERY_STRING_PREFIX + ' WHERE storeId in (' + storeIdString + ')'; return queryString; }
יצירת מרכז הבקרה
- הסבר על האופן שבו פועלות פריסות וגרסאות עבור מחברים.
- יוצרים פריסת ייצור עבור המחבר.
- שימוש בקישור לפריסה בסביבת הייצור כדי ליצור מקור נתונים ודוח ב- Looker Studio.
- לפרמטר ההגדרה
token
, מתן הרשאה לצופים בדוחות לשנות ערכי פרמטרים. - שיתוף מרכז הבקרה עם משתמשים נבחרים או עם 'כל מי שיש לו את מרכז הבקרה "link".
- הפעלת הטמעה בדוח.
הטמעת מרכז הבקרה בפלטפורמה שלכם
- איך פועלים דיווח על פרמטרים של כתובות URL.
- מעבירים את ערך האסימון שנוצר באופן דינמי באמצעות הפרמטרים של כתובת האתר אל
דוח Looker Studio מוטמע.
כתובת ה-URL להטמעה תיראה דומה לזו:
`https://lookerstudio.google.com/embed/reporting/REPORT_ID/page/PAGE_ID?config=%7B%22ds0%22%3A%7B%22token%22%3A%22TOKEN_VALUE%22%7D%7D
המלצות
- צריך ליצור אסימון לטווח קצר.
- מוודאים שמרכז הבקרה לא דלף מידע שמוצג באמצעות לאסימון לא תקין.