הפניה זו מתארת את השיטות ואת המאפיינים של לקוחות JavaScript שבהם תשתמשו לצורך כניסה באמצעות חשבון Google באפליקציות האינטרנט שלכם.
אם תיתקלו בבעיה בספרייה, תוכלו לדווח עליה במאגר של GitHub.
הגדרת אימות
יש לטעון את הספרייה של פלטפורמת Google APIs כדי ליצור את האובייקט gapi
:
<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script>
לאחר טעינת ספריית הפלטפורמה, יש לטעון את הספרייה ב-auth2
:
function init() {
gapi.load('auth2', function() {
/* Ready. Make a call to gapi.auth2.init or some other API */
});
}
gapi.auth2.init(params)
מפעיל את האובייקט GoogleAuth
. צריך לקרוא לשיטה הזו לפני שמתקשרים לשיטות של gapi.auth2.GoogleAuth
.
כשמאתחלים את האובייקט GoogleAuth
, מגדירים את האובייקט באמצעות מזהה הלקוח של OAuth 2.0 וכל אפשרויות נוספות שרוצים לציין. לאחר מכן, אם המשתמש כבר נכנס, האובייקט GoogleAuth
משחזר את מצב הכניסה של המשתמש מהביקור הקודם.
ארגומנטים | |
---|---|
params |
אובייקט שמכיל צמדי מפתח/ערך של נתוני הגדרות לקוח. אפשר לעיין
ב-gapi.auth2.ClientConfig כדי לראות את
המאפיינים השונים. למשל:
{ client_id: 'CLIENT_ID.apps.googleusercontent.com' } |
החזרות | |
---|---|
gapi.auth2.GoogleAuth |
האובייקט gapi.auth2.GoogleAuth . יש להשתמש בשיטה אז() כדי לקבל Promise
שמסתיימת כשאובייקט gapi.auth2.GoogleAuth מסיים את האתחול.
|
GoogleAuth.the(onInit, onError)
קריאה לפונקציה onInit כשהאובייקט GoogleAuth
מופעל במלואו. אם מופיעה שגיאה בזמן האתחול (מצב זה עשוי להתרחש בדפדפנים ישנים שאינם נתמכים),
במקום זאת, הפונקציה onError תופעל.
ארגומנטים | |
---|---|
onInit |
הפונקציה שנקראת עם האובייקט GoogleAuth כשמתבצעת
אתחול מלא.
|
onError |
הפונקציה עם אובייקט שמכיל את המאפיין error , אם GoogleAuth לא הופעל.
|
החזרות | |
---|---|
התחייבות | Promise שמתמלא אם הפונקציה onInit
מסתיימת, או שהיא נדחית אם אירעה שגיאת אתחול. הוא מתקבל עם
הערך המוחזר מהפונקציה onInit, אם יש. |
קודי שגיאה
idpiframe_initialization_failed
-
לא ניתן היה להפעיל את ה-iframe הנדרש מ-Google. לדוגמה, בגלל סביבה
שאינה נתמכת. נכס ב-
details
יספק מידע נוסף על השגיאה שהוצגה.
gapi.auth2.ClientConfig
ממשק שמייצג את הפרמטרים השונים של ההגדרה עבור השיטה
gapi.auth2.init
.
פרמטרים | ||
---|---|---|
client_id |
string |
חובה. מספר הלקוח של האפליקציה, שנמצא ונוצר ב-Google Developers Console. |
cookie_policy |
string |
הדומיינים שעבורם יש ליצור קובצי Cookie לכניסה. URI,
single_host_origin או none . אם המדיניות לא מוגדרת, ברירת המחדל היא
single_host_origin . |
scope |
string |
ההיקפים שיש לבקש, כמחרוזת מופרדת ברווחים. אופציונלי אם
fetch_basic_profile לא מוגדר כ-False. |
fetch_basic_profile |
boolean |
אפשר לאחזר את פרטי הפרופיל הבסיסיים של המשתמשים כשהם נכנסים לחשבון. המדיניות מוסיפה את הפרופילים 'email', 'email' ו-'openid' להיקפים המבוקשים. הערך True אם לא צוין. |
hosted_domain |
string |
דומיין G Suite שאליו המשתמשים חייבים להשתייך כדי להיכנס. הלקוחות יכולים
לשנות את הפרטים האלה, לכן חשוב לאמת
את נכס הדומיין המתארח של המשתמש שמוחזר. יש להשתמש
ב-GoogleUser.getHostedDomain()
אצל הלקוח, ובתביעת hd שבאסימון המזהה
בשרת כדי לאמת את הדומיין כפי שציפית.
|
ux_mode |
string |
מצב חוויית המשתמש שישמש לתהליך הכניסה. כברירת מחדל, ייפתח תהליך הסכמה
בחלון קופץ. הערכים החוקיים הם popup וredirect . |
redirect_uri |
string |
אם משתמשים ב-ux_mode='redirect' , הפרמטר הזה מאפשר לך לבטל את
redirect_uri ברירת המחדל שישמשו בסוף תהליך ההסכמה. ברירת המחדל
redirect_uri היא כתובת ה-URL הנוכחית עם פילוח של פרמטרים של שאילתות וקטע
גיבוב (hash)
.
|
plugin_name |
string |
אופציונלי. אם הערך הזה הוגדר, מזהי לקוחות חדשים שנוצרו לפני 29 ביולי 2022 יכולים להשתמש בספרייה הישנה של Google Platform.
כברירת מחדל, מזהי Client-ID חדשים שנוצרו לא ייחסמו
לצורך שימוש בספריית הפלטפורמה, ובמקום זאת הם צריכים להשתמש בספרייה החדשה
של Google Identity Services. אפשר לבחור כל ערך, לכן מומלץ להזין שם תיאורי כמו
שם של מוצר או פלאגין כדי לזהות אותו בקלות.
דוגמה: plugin_name: 'YOUR_STRING_HERE'
|
אימות
GoogleAuth
הוא שיעור חד-פעמי שמספק שיטות שמאפשרות למשתמש להיכנס עם חשבון Google, לקבל את סטטוס הכניסה הנוכחי של המשתמש, לקבל נתונים ספציפיים מפרופיל Google של המשתמש, לבקש עוד היקפים ולצאת מהחשבון החשבון הנוכחי.
gapi.auth2.getAuthInstance()
החזרת האובייקט GoogleAuth
. יש להפעיל את האובייקט GoogleAuth
באמצעות gapi.auth2.init()
לפני הקריאה לשיטה הזו.
החזרות | |
---|---|
gapi.auth2.GoogleAuth |
האובייקט gapi.auth2.GoogleAuth . ניתן להשתמש באובייקט הזה כדי להתקשר
לשיטות של gapi.auth2.GoogleAuth .
|
GoogleAuth.isSignedIn.get()
בדיקה אם המשתמש הנוכחי מחובר כרגע.
החזרות | |
---|---|
בוליאני |
true אם המשתמש מחובר לחשבון, או false אם המשתמש לא מחובר לחשבון, או שהאובייקט GoogleAuth
לא אותחל.
|
GoogleAuth.isSignedIn.listen(listener)
זיהוי שינויים במצב הכניסה של המשתמש הנוכחי.
ארגומנטים | |
---|---|
listener |
פונקציה שמקבלת ערך בוליאני. הפונקציה listen() מעבירה את
true לפונקציה הזו כשהמשתמש נכנס לחשבון, ו-false כשהמשתמש יוצא מהחשבון.
|
GoogleAuth.signIn()
כניסות למשתמש עם האפשרויות שצוינו ב-gapi.auth2.init()
.
החזרות | |
---|---|
התחייבות | Promise שמולא באמצעות המופע GoogleUser כאשר המשתמש
מבצע אימות והענקת ההיקפים הנדרשים, או נדחה עם אובייקט
המכיל נכס error אם אירעה שגיאה. מופיעים עם קודי שגיאה). |
קודי שגיאה
יש לעיין בGoogleAuth.signIn(options)
.
GoogleAuth.signIn(options)
הכניסה למשתמש באמצעות האפשרויות שצוינו.
ארגומנטים | |
---|---|
options |
יש שתי אפשרויות:
|
החזרות | |
---|---|
התחייבות | Promise שמולא באמצעות המופע GoogleUser כאשר המשתמש
מבצע אימות והענקת ההיקפים הנדרשים, או נדחה עם אובייקט
המכיל נכס error אם אירעה שגיאה. מופיעים עם קודי שגיאה). |
קודי שגיאה
popup_closed_by_user
- המשתמש סגר את החלון הקופץ לפני שסיים את תהליך הכניסה.
access_denied
- המשתמש דחה את ההרשאה להיקפי ההרשאות הנדרשים.
immediate_failed
-
לא ניתן היה לבחור משתמש באופן אוטומטי בלי לבקש את תהליך ההסכמה. אירעה שגיאה במהלך
השימוש באפשרות
signIn
עםprompt: 'none'
. האפשרות הזו לא מחייבת להשתמש באפשרות הזו, מכיוון שהמשתמשgapi.auth2.init
נכנס לחשבון באופן אוטומטי אם הוא היה מחובר בעבר במהלך סשן קודם.
gapi.auth2.SignInOptions
ממשק שמייצג את הפרמטרים השונים של ההגדרה עבור
השיטה GoogleAuth.signIn(options)
.
פרמטרים | ||
---|---|---|
prompt |
string |
אילוץ מצב ספציפי בתהליך ההסכמה. אופציונלי. הערכים האפשריים הם:
|
scope |
string |
ההיקפים שיש לבקש, כמחרוזת מופרדת ברווחים, מעל להיקפים שהוגדרו בפרמטרי gapi.auth2.init . אופציונלי אם fetch_basic_profile לא מוגדר כ-False.
|
ux_mode |
string |
מצב חוויית המשתמש שישמש לתהליך הכניסה. כברירת מחדל, ייפתח תהליך הסכמה
בחלון קופץ. הערכים החוקיים הם popup וredirect . |
redirect_uri |
string |
אם משתמשים ב-ux_mode='redirect' , הפרמטר הזה מאפשר לך לבטל את
redirect_uri ברירת המחדל שישמשו לסוף תהליך ההסכמה. ברירת המחדל redirect_uri היא כתובת ה-URL הנוכחית עם
פרמטרים של שאילתה ומקטע גיבוב.
|
GoogleAuth.signOut()
המערכת תוציא את החשבון הנוכחי מהאפליקציה.
החזרות | |
---|---|
התחייבות | Promise שהושלם אם המשתמש לא מחובר לחשבון. |
GoogleAuth.disconnect()
מבטלת את כל ההיקפים שהמשתמש העניק.
GoogleAuth.grantOfflineAccess(options)
קבלת הרשאה מהמשתמש לגשת להיקפים שצוינו במצב אופליין.
ארגומנטים | |
---|---|
options |
אובייקט gapi.auth2.OfflineAccessOptions שמכיל צמדי פרמטרים/ערך של מפתח. למשל: { scope: 'profile email' } |
החזרות | |
---|---|
התחייבות | Promise שמולא כאשר המשתמש מעניק
את ההיקפים הנדרשים, ומעביר אובייקט שמכיל את קוד ההרשאה
ל-handler של Promise .
למשל: auth2.grantOfflineAccess().then(function(resp) { var auth_code = resp.code; }); |
קודי שגיאה
popup_closed_by_user
- המשתמש סגר את החלון הקופץ לפני שסיים את תהליך ההסכמה.
access_denied
- המשתמש דחה את ההרשאה להיקפי ההרשאות הנדרשים.
immediate_failed
-
לא ניתן היה לבחור משתמש באופן אוטומטי בלי לבקש את תהליך ההסכמה. אירעה שגיאה במהלך
השימוש באפשרות
signIn
עםprompt: 'none'
. האפשרות הזו לא מחייבת להשתמש באפשרות הזו, מכיוון שהמשתמשgapi.auth2.init
נכנס לחשבון באופן אוטומטי אם הוא היה מחובר בעבר במהלך סשן קודם.
gapi.auth2.OfflineAccessOptions
ממשק שמייצג את הפרמטרים השונים של ההגדרה בשיטה
GoogleAuth.grantOfflineAccess(options)
.
פרמטרים | ||
---|---|---|
prompt |
string |
אילוץ מצב ספציפי בתהליך ההסכמה. אופציונלי. הערכים האפשריים הם:
|
scope |
string |
ההיקפים שיש לבקש, כמחרוזת מופרדת ברווחים, מעל להיקפים שהוגדרו בפרמטרי gapi.auth2.init . אופציונלי אם fetch_basic_profile לא מוגדר כ-False.
|
GoogleAuth.attachClickHandler(container, options, onsuccess, onfailure)
צירוף התהליך לכניסה אל handler הקליק של המאגר שצוין.
ארגומנטים | |
---|---|
container | המזהה של הרכיב div או הפניה אליו
שאליו יש לצרף את ה-handler של הקליקים. |
options | אובייקט המכיל צמדי פרמטרים-ערך-ערך. יש לעיין ב-GoogleAuth.signIn(). |
onsuccess | הפונקציה שאליה יש להתקשר לאחר סיום הכניסה. |
onfailure | הפונקציה שיש להתקשר אליה אם הכניסה נכשלה. |
משתמשים
אובייקט GoogleUser
מייצג חשבון משתמש אחד.
אובייקטים מסוג GoogleUser
מתקבלים בדרך כלל על ידי קריאה אל
GoogleAuth.currentUser.get().
GoogleAuth.currentUser.get()
מחזירה אובייקט GoogleUser
שמייצג את המשתמש הנוכחי. חשוב לשים לב שבמקרה של אתחול
GoogleAuth
חדש, המשתמש הנוכחי לא הוגדר. יש להשתמש
בשיטה currentUser.listen()
או בGoogleAuth.then()
כדי לקבל מופע GoogleAuth
אותחל.
החזרות | |
---|---|
GoogleUser |
המשתמש הנוכחי: |
GoogleAuth.currentUser.listen(listener)
חיפוש שינויים ב-CurrentUser.
ארגומנטים | |
---|---|
listener |
פונקציה שמשתמשת בפרמטר GoogleUser .
הפונקציה listen מעבירה את הפונקציה הזו ל-GoogleUser בכל שינוי שמשנים את currentUser .
|
GoogleUser.getId()
משיגים את מחרוזת המזהה הייחודית של המשתמש.
החזרות | |
---|---|
מחרוזת | המזהה הייחודי של המשתמש |
GoogleUser.isSignedIn()
פונקציה זו מחזירה את הערך True אם המשתמש מחובר.
החזרות | |
---|---|
בוליאני | הערך יהיה True אם המשתמש מחובר |
GoogleUser.getHostedDomain()
קבלת הדומיין של G Suite של המשתמש אם המשתמש נכנס באמצעות חשבון G Suite.
החזרות | |
---|---|
מחרוזת | דומיין ה-G Suite של המשתמש |
GoogleUser.getGrantedScopes()
קבלת ההיקפים שהמשתמש העניק כמחרוזת מופרדת ברווחים.
החזרות | |
---|---|
מחרוזת | היקפי ההרשאות שהוגדרו על ידי המשתמש |
GoogleUser.getBaseProfile()
לקבל את המידע הבסיסי של הפרופיל של המשתמש.
החזרות | |
---|---|
gapi.auth2.BasicProfile |
אפשר לאחזר את המאפיינים של gapi.auth2.BasicProfile באמצעות השיטות הבאות:
|
GoogleUser.getAuthResponse(includepermissionsData)
קבלת אובייקט התגובה מהסשן של אימות המשתמש.
ארגומנטים | |
---|---|
includeAuthorizationData | אופציונלי: בוליאני שקובע אם תמיד להחזיר אסימון גישה והיקפי גישה. כברירת מחדל, אסימון הגישה וההיקפים שהתבקשו לא מוחזרים כאשר
fetch_basic_profile מוגדר כ-true (הערך המוגדר כברירת מחדל) ולא מתבקשות עוד היקפים. |
החזרות | |
---|---|
gapi.auth2.AuthResponse |
אובייקט gapi.auth2.AuthResponse . |
GoogleUser.reloadAuthResponse()
מאלץ רענון של אסימון הגישה, ולאחר מכן מחזירה הבטחה עבור AuthResponse החדש.
החזרות | |
---|---|
Promise |
Promise שמולא באמצעות gapi.auth2.AuthResponse
שנטענת מחדש בסיום הטעינה של אסימון ה-OAuth.
|
gapi.auth2.AuthResponse
התגובה הוחזרה לשיחות
GoogleUser.getAuthResponse(includeAuthorizationData)
או
GoogleUser.reloadAuthResponse()
.
מאפיינים | ||
---|---|---|
access_token |
string |
אסימון הגישה אושר. |
id_token |
string |
אסימון המזהה שניתן. |
scope |
string |
ההיקפים שניתנו באסימון הגישה. |
expires_in |
number |
מספר השניות עד שאסימון הגישה יפוג. |
first_issued_at |
number |
חותמת הזמן שבה המשתמש נתן לראשונה את ההיקפים הנדרשים. |
expires_at |
number |
חותמת הזמן שבה יפוג תוקף אסימון הגישה. |
GoogleUser.hasGrantedScopes(scopes)
מחזירה True אם המשתמש נתן את ההיקפים שצוינו.
ארגומנטים | |
---|---|
scopes | מחרוזת היקפית מופרדת ברווחים. |
החזרות | |
---|---|
בוליאני | הערך True אם ההיקפים אושרו |
GoogleUser.grants(options)
בקשת היקפים נוספים למשתמש.
רשימה של הפרמטרים וקוד השגיאה מופיעה בכתובת GoogleAuth.signIn()
.
GoogleUser.grantOfflineAccess(options)
קבלת הרשאה מהמשתמש לגשת להיקפים שצוינו במצב אופליין.
ארגומנטים | |
---|---|
options |
אובייקט gapi.auth2.OfflineAccessOptions שמכיל צמדי פרמטרים/ערך של מפתח. למשל: { scope: 'profile email' } |
GoogleUser.disconnect()
מבטל את כל ההיקפים שהמשתמש העניק לאפליקציה.
רכיבי ממשק משתמש
gapi.signin2.render(id, options)
רינדור לחצן כניסה ברכיב עם המזהה הנתון, באמצעות ההגדרות שצוינו על ידי האובייקט options.
ארגומנטים | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | המזהה של הרכיב שבו יש לעבד את לחצן הכניסה. | ||||||||||||||||
options |
אובייקט המכיל את ההגדרות המשמשות לעיבוד הלחצן. לדוגמה:
{ scope: 'email', width: 200, height: 50, longtitle: true, theme: 'dark', onsuccess: handleSuccess, onfailure: handleFailure }אפשר לציין את האפשרויות הבאות:
|
מתקדמת
gapi.auth2.authorize(params, callback)
מבצע הרשאה חד-פעמית של OAuth 2.0. בהתאם לפרמטרים שבהם נעשה שימוש, פעולה זו תפתח חלון קופץ בתהליך הכניסה ל-Google או תנסה לטעון את התגובה המבוקשת באופן שקט, ללא אינטראקציה עם המשתמש.
דוגמאות למקרים שבהם השיטה הזו שימושית:
- האפליקציה שלכם צריכה לבקש נקודת קצה (endpoint) של Google API פעם אחת בלבד, למשל, כדי לטעון את סרטוני YouTube המועדפים על המשתמש בפעם הראשונה שהוא נכנס לחשבון.
- לאפליקציה שלך יש תשתית משלה לניהול פעילויות באתר, והיא דורשת את אסימון הזיהוי פעם אחת בלבד כדי לזהות את המשתמש בקצה העורפי.
- יש כמה מזהי Client-ID באותו דף.
ארגומנטים | |
---|---|
params |
אובייקט המכיל צמדי מפתח/ערך של נתוני תצורה. אפשר לעיין
ב-gapi.auth2.AuthorizeConfig כדי לראות את
המאפיינים השונים שניתן להגדיר. למשל:
{ client_id: 'CLIENT_ID.apps.googleusercontent.com', scope: 'email profile openid', response_type: 'id_token permission' } |
callback |
פונקציה שנקראת
אובייקט gapi.auth2.AuthorizeResponse
אחרי שהבקשה מסתיימת (הפעולה נכשלה או נכשלה).
|
דוגמה
gapi.auth2.authorize({
client_id: 'CLIENT_ID.apps.googleusercontent.com',
scope: 'email profile openid',
response_type: 'id_token permission'
}, function(response) {
if (response.error) {
// An error happened!
return;
}
// The user authorized the application for the scopes requested.
var accessToken = response.access_token;
var idToken = response.id_token;
// You can also now use gapi.client to perform authenticated requests.
});
קודי שגיאה
idpiframe_initialization_failed
-
למשל, לא הצלחנו לאתחל iframe נדרש מ-Google עקב סביבה
שאינה נתמכת. נכס ב-
details
יספק מידע נוסף על השגיאה שהוצגה. popup_closed_by_user
- המשתמש סגר את החלון הקופץ לפני שסיים את תהליך הכניסה.
access_denied
- המשתמש דחה את ההרשאה להיקפי ההרשאות הנדרשים.
immediate_failed
-
לא ניתן היה לבחור משתמש באופן אוטומטי בלי לבקש את תהליך ההסכמה. אירעה שגיאה במהלך
השימוש באפשרות
signIn
עםprompt: 'none'
.
gapi.auth2.AuthorizeConfig
ממשק שמייצג את הפרמטרים השונים של ההגדרה עבור
השיטה gapi.auth2.authorize
.
מאפיינים | ||
---|---|---|
client_id |
string |
Required. מספר הלקוח של האפליקציה, שנמצא ונוצר ב-Google Developers Console. |
scope |
string |
Required. ההיקפים שיש לבקש, כמחרוזת מופרדת ברווחים. |
response_type |
string |
רשימה של סוגי תגובות מופרדים ברווחים. ערך ברירת המחדל הוא 'permission' . הערכים האפשריים
הם:
|
prompt |
string |
אילוץ מצב ספציפי בתהליך ההסכמה. הערכים האפשריים הם:
|
cookie_policy |
string |
הדומיינים שעבורם יש ליצור קובצי Cookie לכניסה. URI,
single_host_origin או none . אם המדיניות לא מוגדרת, ברירת המחדל היא
single_host_origin .
|
hosted_domain |
string |
דומיין G Suite שאליו המשתמשים חייבים להשתייך כדי להיכנס. לקוחות עשויים לבצע שינויים, לכן חשוב לאמת את נכס הדומיין המתארח של המשתמש המוחזר. |
login_hint |
string |
כתובת האימייל, או ה-User-ID, של משתמש שרוצים לבחור מראש בתהליך הכניסה. כל המשתמשים יכולים לבצע שינויים, אלא אם משתמשים ב-prompt: "none" .
|
include_granted_scopes |
boolean |
האם לבקש אסימון גישה הכולל את כל ההיקפים שהוענקו בעבר על ידי המשתמש
לאפליקציה, או רק את ההיקפים שהתבקשו בשיחה הנוכחית. ערך ברירת המחדל הוא true .
|
plugin_name |
string |
אופציונלי. אם מגדירים מזהי לקוחות שנוצרו לפני 29 ביולי 2022, אפשר להשתמש
בספרייה של Google Platform. כברירת מחדל, מזהי Client-ID חדשים שנוצרו לא ייחסמו
לשימוש בספריית הפלטפורמה, ובמקום זאת הם יצטרכו להשתמש בספרייה החדשה
של שירותי Google Identity. אפשר לבחור בכל ערך, שם תיאורי
כמו שם המוצר או הפלאגין, כדי לזהות אותו בקלות.
דוגמה: plugin_name: 'YOUR_STRING_HERE'
|
gapi.auth2.AuthorizeResponse
התגובה הוחזרה לקריאה חוזרת (callback) של
gapi.auth2.authorize
.
מאפיינים | ||
---|---|---|
access_token |
string |
אסימון הגישה אושר. יש להציג רק אם צוין permission או token בresponse_type .
|
id_token |
string |
אסימון המזהה שניתן. תופיע רק אם צוין id_token בresponse_type .
|
code |
string |
קוד ההרשאה מוענק. תופיע רק אם צוין code בresponse_type .
|
scope |
string |
ההיקפים שניתנו באסימון הגישה. יש לציין רק אם צוין permission או
token בresponse_type .
|
expires_in |
number |
מספר השניות עד שאסימון הגישה יפוג. יש לציין רק אם צוין permission
או token ב-response_type .
|
first_issued_at |
number |
חותמת הזמן שבה המשתמש נתן לראשונה את ההיקפים הנדרשים. יש לציין רק אם
permission או token צוינו ב-response_type .
|
expires_at |
number |
חותמת הזמן שבה יפוג תוקף אסימון הגישה. יש לציין רק אם צוין permission
או token ב-response_type .
|
error |
string |
כשהבקשה נכשלה, היא כוללת קוד שגיאה. |
error_subtype |
string |
כשהבקשה נכשלה, הקוד יכול להכיל מידע נוסף שהתקבל גם בקוד השגיאה. |