צריך להפעיל את שיטת האימות הזו או שיטת אימות אחרת לפני ee.initialize().
שימו לב: אם המשתמש לא העניק בעבר גישה לאפליקציה שמזוהה על ידי מזהה הלקוח, כברירת מחדל המערכת תנסה להציג חלון דו-שיח שבו המשתמש מתבקש להעניק את ההרשאה הנדרשת. עם זאת, הדפדפן יכול לחסום את החלון הקופץ הזה. כדי למנוע את הבעיה הזו, צריך לציין את פונקציית הקריאה החוזרת opt_onImmediateFailed, ובתוכה להציג לחצן כניסה בדף, ואז לקרוא לפונקציה ee.data.authenticateViaPopup() מתוך handler של אירוע הלחיצה על הלחצן הזה. כך הדפדפן לא יחסום את החלון הקופץ, כי הוא נובע ישירות מפעולה של המשתמש.
אם אפשר, טוקן האימות יתעדכן אוטומטית. אפשר להניח בבטחה שכל השיחות האסינכרוניות יישלחו עם האישורים המתאימים. עם זאת, עבור קריאות סינכרוניות, צריך לבדוק אם יש אסימון אימות באמצעות ee.data.getAuthToken() ולקרוא ל-ee.data.refreshAuthToken() באופן ידני אם אין אסימון. פעולת רענון האסימון היא אסינכרונית, ואי אפשר לבצע אותה ברקע לפי דרישה לפני קריאות סינכרוניות.
| שימוש | החזרות |
|---|---|
ee.data.authenticateViaOauth(clientId, success, error, extraScopes, onImmediateFailed, suppressDefaultScopes) |
| ארגומנט | סוג | פרטים |
|---|---|---|
clientId | מחרוזת | מזהה הלקוח של OAuth של האפליקציה, או null כדי להשבית שיחות מאומתות. אפשר לקבל את המזהה דרך Google Developers Console. לפרויקט צריך להיות מקור JavaScript שמתאים לדומיין שבו הסקריפט פועל. |
success | פונקציה | הפונקציה שמופעלת אם האימות הצליח. |
error | פונקציה, אופציונלי | הפונקציה שמופעלת אם האימות נכשל, והודעת השגיאה מועברת אליה. אם האימות במצב מיידי (מאחורי הקלעים) נכשל והפרמטר opt_onImmediateFailed צוין, הפונקציה הזו נקראת במקום opt_error. |
extraScopes | רשימה[מחרוזת], אופציונלי | היקפי הרשאות נוספים של OAuth לבקשה. |
onImmediateFailed | פונקציה, אופציונלי | הפונקציה שמופעלת אם האימות האוטומטי ברקע נכשל. ברירת המחדל היא ee.data.authenticateViaPopup(), שמוגדרת לשיחות החוזרות שהועברו. |
suppressDefaultScopes | בוליאני, אופציונלי | אם הערך הוא true, נשלחת בקשה רק להיקפים שצוינו ב-opt_extraScopes. ההיקפים שמוגדרים כברירת מחדל לא נכללים בבקשה, אלא אם הם צוינו במפורש ב-opt_extraScopes. |