ee.data.authenticateViaOauth

הגדרת אימות בצד הלקוח של קריאות ל-EE API דרך Google APIs Client Library for JavaScript. הספרייה תיטען באופן אוטומטי אם היא עדיין לא נטענה בדף. אם המשתמש לא העניק לאפליקציה שזוהתה על ידי clientId גישה לנתוני ה-EE שלו בעבר, הוא יתבקש לעשות זאת.

צריך להפעיל את שיטת האימות הזו או שיטת אימות אחרת לפני 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‫List<String>, אופציונליהיקפי הרשאות נוספים של OAuth לבקשה.
onImmediateFailedפונקציה, אופציונליהפונקציה שמופעלת אם האימות האוטומטי ברקע נכשל. ברירת המחדל היא ee.data.authenticateViaPopup(), שמוגדרת לשיחות החוזרות שהועברו.
suppressDefaultScopesבוליאני, אופציונליאם הערך הוא true, נשלחת בקשה רק להיקפים שצוינו ב-opt_extraScopes. ההיקפים שמוגדרים כברירת מחדל לא נכללים בבקשה, אלא אם הם צוינו במפורש ב-opt_extraScopes.