משתמשים ישתמשו במחבר הקהילה כדי ליצור מקורות נתונים משלהם. עבור מקורות הנתונים האלה, המחבר יכול לגשת לזהות של המשתמש האפקטיבי. בהתאם לפרטי הכניסה של מקור הנתונים, המשתמש בפועל יכול להיות היוצר של מקור הנתונים (פרטי הכניסה של הבעלים) או הכלי לצפייה בדוח (פרטי הכניסה של הצופה).
יתרונות
- יש לך אפשרות לגשת לשירותים ולממשקי ה-API של Google בשם המשתמש.
- אפשר להטמיע בקרת גישה מותאמת אישית כדי להבטיח שרק נתונים רלוונטיים מוצגים.
- אפשר להתאים אישית את חוויית המשתמש עבור המשתמש האפקטיבי.
שלבי ההטמעה
גישה לאסימון ה-OAuth של המשתמש
המחבר שלכם יכול לגשת לשירותים ולממשקי API של Google מטעם המשתמש, על ידי העברת אסימון ה-OAuth של המשתמש. כדי לגשת לאסימון ה-OAuth של המשתמש האפקטיבי במחבר, משתמשים ב-ScriptApp.getOAuthToken()
. כדאי לעיין בחומר עזר בנושא getOAuthToken.
האסימון הזה יכלול את היקפי ההרשאות שנכללו במהלך הרשאת המחבר.
לרוב המחברים, Apps Script מזהה באופן אוטומטי את ההיקפים הנדרשים על ידי ניתוח ועיבוד של הסקריפט. בכל שלב תוכלו להציג את ההיקפים שבהם משתמש מחבר. אפשר גם להגדיר היקפים באופן מפורש במניפסט באמצעות מחרוזות של כתובות URL. אם רוצים לגשת לשירות או ל-API של Google בשם המשתמש, צריך לכלול את ההיקף הרלוונטי הזה במניפסט.
גישה לכתובת האימייל של המשתמש
בקוד שלכם אפשר לזהות את המשתמש האפקטיבי הנוכחי באמצעות Session.getEffectiveUser().getEmail()
. לעיון בחומר העזר בנושא getEffectiveUser
הוספת הקוד הזה תוסיף באופן אוטומטי את היקף ההרשאה https://www.googleapis.com/auth/userinfo.email
למחבר.
דוגמה: קריאה ל-Google APIs עם אסימון OAuth של המשתמש
- מחבר Google Fit מאחזר נתונים מ-Google Fit API עבור המשתמש היעיל. בזמן הקריאה ל-API, הוא מעביר את אסימון ה-OAuth של המשתמש האפקטיבי. לפרטים על ההטמעה, עיינו בקוד המקור.
- באמצעות מחבר Firestore תוכלו להשתמש ב-Cloud Resource Manager כדי לקבל רשימה של פרויקטים עבור המשתמש בפועל. המחבר הזה גם מעביר את אסימון ה-OAuth של המשתמש האפקטיבי. פרטים על ההטמעה זמינים בקוד המקור.
דוגמה: isAdminUser()
על סמך כתובת אימייל
- המחבר של Chrome UX מתחזק רשימה של משתמשים עם הרשאת אדמין. היא משתמשת ב-
getEffectiveUser()
ומשווה את המשתמש האפקטיבי לרשימה כדי לקבוע אם המשתמש בפועל הוא אדמין או לא. למידע נוסף, ראו הטמעה שלgetEffectiveUser
.