W tym artykule znajdziesz opis metod i atrybutów klienta w JavaScript, które będziesz wykorzystywać do implementacji funkcji logowania w Google w swoich aplikacjach internetowych.
Jeśli napotkasz jakiś problem podczas korzystania z biblioteki, zgłoś go w naszym repozytorium GitHub. .
Konfiguracja uwierzytelniania
Wczytaj bibliotekę platformy interfejsów API Google, aby utworzyć obiekt gapi
:
<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script>
Po załadowaniu biblioteki platformy załaduj bibliotekę auth2
:
function init() {
gapi.load('auth2', function() {
/* Ready. Make a call to gapi.auth2.init or some other API */
});
}
gapi.auth2.init(params)
Inicjuje obiekt GoogleAuth
. Musisz wywołać tę metodę przed wywołaniem metod gapi.auth2.GoogleAuth
.
Podczas inicjowania obiektu GoogleAuth
konfigurujesz go, podając identyfikator klienta OAuth 2.0 i opcjonalnie inne opcje. Jeśli użytkownik jest już zalogowany, obiekt GoogleAuth
przywraca stan logowania z poprzedniej sesji.
Argumenty | |
---|---|
params |
Obiekt zawierający pary klucz-wartość danych konfiguracji klienta. Różne właściwości, które można skonfigurować, znajdziesz w sekcji gapi.auth2.ClientConfig . Na przykład:
{ client_id: 'CLIENT_ID.apps.googleusercontent.com' } |
Zwroty | |
---|---|
gapi.auth2.GoogleAuth |
Obiekt gapi.auth2.GoogleAuth . Aby uzyskać obietnicę, która zostanie spełniona po zakończeniu inicjalizacji obiektu gapi.auth2.GoogleAuth , użyj metody then().
|
GoogleAuth.then(onInit, onError)
Funkcja onInit jest wywoływana, gdy obiekt GoogleAuth
jest w pełni zainicjowany. Jeśli podczas inicjowania wystąpi błąd (może się to zdarzyć w starszych, nieobsługiwanych przez Google Chrome, przeglądarkach), zamiast tego zostanie wywołana funkcja onError.
Argumenty | |
---|---|
onInit |
Funkcja wywoływana z obiektem GoogleAuth , gdy jest w pełni zainicjowana.
|
onError |
Funkcja wywołana z obiektem zawierającym właściwość error , jeśli nie udało się zainicjować GoogleAuth .
|
Zwroty | |
---|---|
Obietnica | Obietnica Promise , która jest spełniona, gdy funkcja onInit zakończyła działanie, lub odrzucona, jeśli wystąpił błąd inicjalizacji. Jest ona obliczana na podstawie wartości zwróconej przez funkcję onInit (jeśli taka istnieje). |
Kody błędów
idpiframe_initialization_failed
- Nie udało się zainicjować wymaganego elementu iframe od Google, na przykład z powodu nieobsługiwanego środowiska. Właściwość
details
zawiera więcej informacji o wystąpił błąd.
gapi.auth2.ClientConfig
Interfejs przedstawiający różne parametry konfiguracji metody gapi.auth2.init
.
Parametry | ||
---|---|---|
client_id |
string |
Wymagany. Identyfikator klienta aplikacji utworzony w Konsoli interfejsów API Google. |
cookie_policy |
string |
Domeny, w których chcesz utworzyć pliki cookie logowania. Może to być identyfikator URI, single_host_origin lub none . Jeśli nie zostanie podana, przyjmuje domyślnie single_host_origin . |
scope |
string |
Zakresy, o które chcesz poprosić, jako ciąg oddzielony spacjami. Opcjonalne, jeśli parametr fetch_basic_profile nie ma wartości false. |
fetch_basic_profile |
boolean |
Pobieranie podstawowych informacji z profilu użytkownika, gdy ten loguje się w aplikacji. Dodaje do żądanych zakresów zakresy „profile”, „email” i „openid”. Wartość „prawda”, jeśli nie podano inaczej. |
hosted_domain |
string |
Domena G Suite, do której użytkownicy muszą należeć, aby się zalogować. Może ona ulec zmianie przez klientów, dlatego upewnij się, że zwracany użytkownik ma zweryfikowaną usługę domeny hostowanej. Użyj metody GoogleUser.getHostedDomain() na kliencie i zawartości oświadczenia hd w tokenie ID na serwerze, aby sprawdzić, czy domena jest taka, jaką chcesz.
|
use_fedcm |
boolean |
Opcjonalna, domyślnie True . Włącz lub wyłącz używanie interfejsów API FedCM w przeglądarce podczas logowania. |
ux_mode |
string |
Tryb UX używany w procesie logowania. Domyślnie proces wyrażania zgody otworzy się w wyskakującym okienku. Prawidłowe wartości to popup i redirect . |
redirect_uri |
string |
Jeśli używasz parametru ux_mode='redirect' , ten parametr umożliwia zastąpienie domyślnego parametru redirect_uri , który będzie używany na końcu procesu uzyskiwania zgody. Domyślna wartość redirect_uri to bieżący adres URL pozbawiony parametrów zapytania i fragmentu szyfrującego.
|
enable_granular_consent |
boolean |
Opcjonalnie: Czy włączyć szczegółowe uprawnienia. Jeśli ustawisz wartość false , bardziej szczegółowe uprawnienia konta Google zostaną wyłączone w przypadku identyfikatorów klienta OAuth utworzonych przed 2019 r. Nie ma to wpływu na identyfikatory klienta OAuth utworzone w 2019 r. lub później, ponieważ w ich przypadku zawsze są włączone bardziej szczegółowe uprawnienia.
|
plugin_name |
string |
Opcjonalnie: Dotyczy to tylko identyfikatorów klientów utworzonych przed 3 marca 2025 r. W innych przypadkach nie ma to żadnego wpływu.
Umożliwia dotychczasowym aplikacjom internetowym dalsze korzystanie z Google Platform Library.
Domyślnie nowo utworzone identyfikatory klienta nie mogą korzystać z biblioteki Platform Library. Zamiast niej należy używać nowszej biblioteki Google Identity Services.
Możesz wybrać dowolną wartość. Zalecamy, aby była to nazwa opisowa, np. nazwa produktu lub wtyczki. Przykład: plugin_name: 'YOUR_STRING_HERE'
|
Uwierzytelnianie
GoogleAuth
to klasa singleton, która udostępnia metody umożliwiające użytkownikowi zalogowanie się na konto Google, uzyskanie bieżącego stanu logowania użytkownika, uzyskanie określonych danych z profilu Google użytkownika, żądanie dodatkowych zakresów uprawnień oraz wylogowanie z bieżącego konta.
gapi.auth2.getAuthInstance()
Zwraca obiekt GoogleAuth
. Przed wywołaniem tej metody musisz zainicjować obiekt GoogleAuth
za pomocą funkcji gapi.auth2.init()
.
Zwroty | |
---|---|
gapi.auth2.GoogleAuth |
Obiekt gapi.auth2.GoogleAuth . Używaj tego obiektu do wywoływania metod gapi.auth2.GoogleAuth .
|
GoogleAuth.isSignedIn.get()
Zwraca informację, czy bieżący użytkownik jest zalogowany.
Zwroty | |
---|---|
Wartość logiczna |
true , jeśli użytkownik jest zalogowany, lub false , jeśli użytkownik jest wylogowany lub obiekt GoogleAuth nie został zainicjowany.
|
GoogleAuth.isSignedIn.listen(listener)
Słuchaj zmian w stanie logowania bieżącego użytkownika.
Argumenty | |
---|---|
listener |
Funkcja przyjmująca wartość logiczną. listen() przekazuje
true do tej funkcji, gdy użytkownik się zaloguje, oraz
false gdy się wyloguje.
|
GoogleAuth.signIn()
Loguje użytkownika z opcjami określonymi w opcji gapi.auth2.init()
.
Zwroty | |
---|---|
Obietnica | Promise , który jest wypełniany instancją GoogleUser , gdy użytkownik pomyślnie uwierzytelnia się i przyznaje żądane zakresy, lub odrzucany z obiektem zawierającym właściwość error , jeśli wystąpił błąd. Kody błędów znajdziesz w następnej sekcji. |
Kody błędów
Zobacz GoogleAuth.signIn(options)
.
GoogleAuth.signIn(options)
Loguje użytkownika za pomocą określonych opcji.
Argumenty | |
---|---|
options |
Wykonaj 1 z tych czynności:
|
Zwroty | |
---|---|
Obietnica | Promise , który jest wypełniany za pomocą instancji GoogleUser , gdy użytkownik poprawnie uwierzytelnia się i przyznaje żądane zakresy, lub odrzucany z obiektem zawierającym właściwość error , jeśli wystąpił błąd (kody błędów znajdziesz poniżej). |
Kody błędów
popup_closed_by_user
- Użytkownik zamknął wyskakujące okienko przed zakończeniem procesu logowania.
access_denied
- Użytkownik odmówił udzielenia uprawnień do wymaganych zakresów.
immediate_failed
- Nie można automatycznie wybrać żadnego użytkownika bez wyświetlenia procesu uzyskiwania zgody. Wystąpił błąd podczas korzystania z opcji
signIn
z opcjąprompt: 'none'
. Nie powinno być to konieczne, ponieważgapi.auth2.init
automatycznie zaloguje użytkownika, jeśli był on zalogowany w poprzedniej sesji.
gapi.auth2.SignInOptions
Interfejs przedstawiający różne parametry konfiguracji metody GoogleAuth.signIn(options)
.
Parametry | ||
---|---|---|
prompt |
string |
Wymusza określony tryb procesu uzyskiwania zgody. Opcjonalnie: Możliwe wartości to:
|
scope |
string |
Zakresy, o które należy poprosić, jako ciąg znaków oddzielonych spacjami, na podstawie zakresów zdefiniowanych w parametrach gapi.auth2.init . Opcjonalne, jeśli fetch_basic_profile nie jest ustawiony na wartość fałsz.
|
ux_mode |
string |
Tryb UX używany w procesie logowania. Domyślnie proces wyrażania zgody otworzy się w wyskakującym okienku. Prawidłowe wartości to popup i redirect . |
redirect_uri |
string |
Jeśli używasz parametru ux_mode='redirect' , możesz za jego pomocą zastąpić domyślny parametr redirect_uri , który będzie używany na końcu procesu uzyskiwania zgody. Domyślna wartość redirect_uri to bieżący adres URL pozbawiony parametrów zapytania i fragmentu szyfrującego.
|
GoogleAuth.signOut()
Wyloguje bieżące konto z aplikacji.
Zwroty | |
---|---|
Obietnica | Promise , które jest wykonywane po wylogowaniu użytkownika. |
GoogleAuth.disconnect()
Unieważnia wszystkie uprawnienia przyznane przez użytkownika.
GoogleAuth.grantOfflineAccess(options)
Uzyskaj od użytkownika zgodę na dostęp do określonych zakresów offline.
Argumenty | |
---|---|
options |
Obiekt gapi.auth2.OfflineAccessOptions zawierający pary klucz-wartość parametrów. Na przykład: { scope: 'profile email' } |
Zwroty | |
---|---|
Obietnica | Promise , który jest realizowany, gdy użytkownik przyzna wymagane uprawnienia, przekazując obiekt zawierający kod autoryzacji do modułu obsługi realizacji Promise .
Na przykład: auth2.grantOfflineAccess().then(function(resp) { var auth_code = resp.code; }); |
Kody błędów
popup_closed_by_user
- Użytkownik zamknął wyskakujące okienko, zanim proces uzyskiwania zgody został zakończony.
access_denied
- Użytkownik odmówił udzielenia uprawnień do wymaganych zakresów.
immediate_failed
- Nie można automatycznie wybrać żadnego użytkownika bez wyświetlenia procesu uzyskiwania zgody. Wystąpił błąd podczas korzystania z opcji
signIn
z opcjąprompt: 'none'
. Nie powinno być to konieczne, ponieważgapi.auth2.init
automatycznie zaloguje użytkownika, jeśli był on zalogowany w poprzedniej sesji.
gapi.auth2.OfflineAccessOptions
Interfejs przedstawiający różne parametry konfiguracji metody
GoogleAuth.grantOfflineAccess(options)
.
Parametry | ||
---|---|---|
prompt |
string |
Wymusza określony tryb procesu uzyskiwania zgody. Opcjonalnie: Możliwe wartości to:
|
scope |
string |
Zakresy, o które należy poprosić, jako ciąg znaków oddzielonych spacjami, na podstawie zakresów zdefiniowanych w parametrach gapi.auth2.init . Opcjonalne, jeśli fetch_basic_profile nie jest ustawiony na wartość fałsz.
|
GoogleAuth.attachClickHandler(container, options, onsuccess, onfailure)
Przyłącza proces logowania do obsługi kliknięcia w określonym kontenerze.
Argumenty | |
---|---|
container | Identyfikator lub odwołanie do elementu div , do którego ma zostać dołączony moduł obsługi kliknięcia. |
options | Obiekt zawierający pary klucz-wartość parametrów. Zobacz GoogleAuth.signIn(). |
onsuccess | Funkcja do wywołania po zakończeniu logowania. |
onfailure | Funkcja do wywołania, jeśli logowanie się nie powiedzie. |
Użytkownicy
Obiekt GoogleUser
reprezentuje jedno konto użytkownika. Obiekty GoogleUser
są zwykle uzyskiwane przez wywołanie metody GoogleAuth.currentUser.get().
GoogleAuth.currentUser.get()
Zwraca obiekt GoogleUser
, który reprezentuje bieżącego użytkownika. Pamiętaj, że w nowo zainicjowanej instancji GoogleAuth
bieżący użytkownik nie został jeszcze ustawiony. Aby uzyskać zainicjowany obiekt GoogleAuth
, użyj metody currentUser.listen()
lub GoogleAuth.then()
.
Zwroty | |
---|---|
GoogleUser |
bieżący użytkownik, |
GoogleAuth.currentUser.listen(listener)
Nasłuchiwanie zmian w currentUser.
Argumenty | |
---|---|
listener |
Funkcja, która przyjmuje parametr GoogleUser .
listen przekazuje tej funkcji instancję GoogleUser przy każdej zmianie, która modyfikuje currentUser .
|
GoogleUser.getId()
Pobierz unikalny ciąg znaków identyfikatora użytkownika.
Zwroty | |
---|---|
Ciąg znaków | Unikalny identyfikator użytkownika |
GoogleUser.isSignedIn()
Zwraca wartość „prawda”, jeśli użytkownik jest zalogowany.
Zwroty | |
---|---|
Wartość logiczna | Prawda, jeśli użytkownik jest zalogowany |
GoogleUser.getHostedDomain()
Uzyskaj domenę G Suite użytkownika, jeśli zalogował się on na konto G Suite.
Zwroty | |
---|---|
Ciąg znaków | Domena G Suite użytkownika |
GoogleUser.getGrantedScopes()
Pobierz zakresy przyznane przez użytkownika jako ciąg znaków rozdzielony spacjami.
Zwroty | |
---|---|
Ciąg znaków | Zakresy przyznane przez użytkownika |
GoogleUser.getBasicProfile()
Uzyskaj podstawowe informacje o profilu użytkownika.
Zwroty | |
---|---|
gapi.auth2.BasicProfile |
Właściwości gapi.auth2.BasicProfile możesz pobrać za pomocą tych metod:
|
GoogleUser.getAuthResponse(includeAuthorizationData)
Pobierz obiekt odpowiedzi z sesji uwierzytelniania użytkownika.
Argumenty | |
---|---|
includeAuthorizationData | Opcjonalnie: wartość logiczna określająca, czy zawsze zwracać token dostępu i zakresy. Domyślnie token dostępu i żądane zakresy nie są zwracane, gdy fetch_basic_profile ma wartość true (wartość domyślna) i nie są wymagane żadne dodatkowe zakresy. |
Zwroty | |
---|---|
gapi.auth2.AuthResponse |
Obiekt gapi.auth2.AuthResponse . |
GoogleUser.reloadAuthResponse()
Wymusza odświeżenie tokena dostępu, a następnie zwraca obietnicę dla nowej odpowiedzi AuthResponse.
Zwroty | |
---|---|
Promise |
Promise , który jest realizowany za pomocą załadowanego ponowniegapi.auth2.AuthResponse , gdy nastąpiło ponowne załadowanie tokena OAuth.
|
gapi.auth2.AuthResponse
Odpowiedź zwracana przez metody GoogleUser.getAuthResponse(includeAuthorizationData)
lub GoogleUser.reloadAuthResponse()
.
Właściwości | ||
---|---|---|
access_token |
string |
Token dostępu przyznany. |
id_token |
string |
Przyznany token identyfikacyjny. |
scope |
string |
Zakresy przyznawane w tokenie dostępu. |
expires_in |
number |
Liczba sekund do wygaśnięcia tokena dostępu. |
first_issued_at |
number |
Znak czasu, w którym użytkownik po raz pierwszy przyznał żądane uprawnienia. |
expires_at |
number |
Sygnatura czasowa, w której token dostępu wygaśnie. |
GoogleUser.hasGrantedScopes(scopes)
Zwraca wartość „prawda”, jeśli użytkownik przyznał określone uprawnienia.
Argumenty | |
---|---|
scopes | Rozdzielany spacjami ciąg znaków zakresów. |
Zwroty | |
---|---|
Wartość logiczna | Wartość true, jeśli zakresy zostały przyznane |
GoogleUser.grant(options)
Poproś użytkownika o dodatkowe uprawnienia.
Aby poznać listę parametrów i kod błędu, zapoznaj się z artykułem GoogleAuth.signIn()
.
GoogleUser.grantOfflineAccess(options)
Uzyskaj od użytkownika zgodę na dostęp do określonych zakresów offline.
Argumenty | |
---|---|
options |
Obiekt gapi.auth2.OfflineAccessOptions zawierający pary klucz-wartość parametrów. Na przykład: { scope: 'profile email' } |
GoogleUser.disconnect()
Unieważnia wszystkie zakresy przyznane przez użytkownika aplikacji.
Elementy interfejsu
gapi.signin2.render(id, options)
Wyświetla przycisk logowania w elemencie o danym identyfikatorze, używając ustawień określonych przez obiekt options.
Argumenty | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | Identyfikator elementu, w którym ma być renderowany przycisk logowania. | ||||||||||||||||
options |
Obiekt zawierający ustawienia używane do renderowania przycisku. Na przykład:
{ scope: 'email', width: 200, height: 50, longtitle: true, theme: 'dark', onsuccess: handleSuccess, onfailure: handleFailure }
|
Zaawansowane
gapi.auth2.authorize(params, callback)
Przeprowadza jednorazową autoryzację OAuth 2.0. W zależności od użytych parametrów otworzy to wyskakujące okienko logowania w Google lub spróbuje pobrać żądaną odpowiedź bez interakcji z użytkownikiem.
Oto kilka przykładów zastosowań, w których ta metoda jest przydatna:
- Aplikacja musi tylko raz wysłać żądanie do punktu końcowego interfejsu Google API, aby na przykład załadować ulubione filmy użytkownika w YouTube przy pierwszym logowaniu.
- Twoja aplikacja ma własną infrastrukturę zarządzania sesjami i wymaga użycia tokena ID tylko raz, aby zidentyfikować użytkownika na serwerze.
- Na tej samej stronie używasz kilku identyfikatorów klienta.
Argumenty | |
---|---|
params |
Obiekt zawierający pary klucz-wartość danych konfiguracyjnych. Różne właściwości, które można skonfigurować, znajdziesz w sekcji gapi.auth2.AuthorizeConfig . Na przykład:
{ client_id: 'CLIENT_ID.apps.googleusercontent.com', scope: 'email profile openid', response_type: 'id_token permission' } |
callback |
Funkcja wywoływana z obiektem gapi.auth2.AuthorizeResponse po zakończeniu żądania (z pomyślnym lub niepomyślnym wynikiem).
|
Przykład
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.
});
Kody błędów
idpiframe_initialization_failed
- Nie udało się zainicjować wymaganego elementu iframe od Google, na przykład z powodu nieobsługiwanego środowiska. Właściwość
details
zawiera więcej informacji o wystąpił błąd. popup_closed_by_user
- Użytkownik zamknął wyskakujące okienko przed zakończeniem procesu logowania.
access_denied
- Użytkownik odmówił udzielenia uprawnień do wymaganych zakresów.
immediate_failed
- Nie można automatycznie wybrać żadnego użytkownika bez wyświetlenia procesu uzyskiwania zgody. Wystąpił błąd podczas korzystania z opcji
signIn
z opcjąprompt: 'none'
.
gapi.auth2.AuthorizeConfig
Interfejs przedstawiający różne parametry konfiguracji metody gapi.auth2.authorize
.
Właściwości | ||
---|---|---|
client_id |
string |
Wymagany. Identyfikator klienta aplikacji utworzony w Konsoli interfejsów API Google. |
scope |
string |
Wymagany. Zakresy, o które chcesz poprosić, jako ciąg oddzielony spacjami. |
response_type |
string |
Lista rozdzielonych spacjami typów odpowiedzi. Domyślna wartość to 'permission' . Możliwe wartości:
|
prompt |
string |
Wymusza określony tryb procesu uzyskiwania zgody. Możliwe wartości:
|
cookie_policy |
string |
Domeny, w których chcesz utworzyć pliki cookie logowania. Może to być identyfikator URI, single_host_origin lub none . Jeśli nie zostanie podana, przyjmuje domyślnie single_host_origin .
|
hosted_domain |
string |
Domena G Suite, do której użytkownicy muszą należeć, aby się zalogować. Te informacje mogą być modyfikowane przez klientów, dlatego należy zweryfikować domenę hostowaną przez zwróconego użytkownika. |
login_hint |
string |
Adres e-mail lub identyfikator użytkownika, który ma być wstępnie wybrany w procesie logowania. Użytkownik może zmienić tę wartość, chyba że użyje opcji prompt: "none" .
|
include_granted_scopes |
boolean |
Określa, czy żądać tokena dostępu, który obejmuje wszystkie uprawnienia przyznane wcześniej przez użytkownika aplikacji, czy tylko uprawnienia wymagane w bieżącym wywołaniu. Domyślna wartość to true .
|
enable_granular_consent |
boolean |
Opcjonalnie: Czy włączyć szczegółowe uprawnienia. Jeśli ustawisz wartość false , bardziej szczegółowe uprawnienia konta Google zostaną wyłączone w przypadku identyfikatorów klienta OAuth utworzonych przed 2019 r. Nie ma to wpływu na identyfikatory klienta OAuth utworzone w 2019 r. lub później, ponieważ w ich przypadku zawsze są włączone bardziej szczegółowe uprawnienia.
|
plugin_name |
string |
Opcjonalnie: Dotyczy to tylko identyfikatorów klientów utworzonych przed 3 marca 2025 r. W innych przypadkach nie ma to żadnego wpływu.
Umożliwia dotychczasowym aplikacjom internetowym dalsze korzystanie z Google Platform Library.
Domyślnie nowo utworzone identyfikatory klienta nie mogą korzystać z biblioteki Platform Library. Zamiast niej należy używać nowszej biblioteki Google Identity Services.
Możesz wybrać dowolną wartość. Zalecamy, aby była to nazwa opisowa, np. nazwa produktu lub wtyczki. Przykład: plugin_name: 'YOUR_STRING_HERE'
|
gapi.auth2.AuthorizeResponse
Odpowiedź zwrócona do metody wywołania funkcji gapi.auth2.authorize
.
Właściwości | ||
---|---|---|
access_token |
string |
Token dostępu przyznany. Występuje tylko wtedy, gdy w elementach response_type podano wartości permission lub token .
|
id_token |
string |
Przyznany token identyfikacyjny. Widoczny tylko wtedy, gdy w elemencie response_type podano wartość id_token .
|
code |
string |
Przyznany kod autoryzacji. Widoczny tylko wtedy, gdy w elemencie response_type podano wartość code .
|
scope |
string |
Zakresy przyznawane w tokenie dostępu. Występuje tylko wtedy, gdy w elementach response_type podano wartości permission lub token .
|
expires_in |
number |
Liczba sekund do wygaśnięcia tokena dostępu. Występuje tylko wtedy, gdy w elementach response_type podano wartości permission lub token .
|
first_issued_at |
number |
Znak czasu, w którym użytkownik po raz pierwszy przyznał żądane uprawnienia. Występuje tylko wtedy, gdy w elementach response_type podano wartości permission lub token .
|
expires_at |
number |
Sygnatura czasowa, w której token dostępu wygaśnie. Występuje tylko wtedy, gdy w elementach response_type podano wartości permission lub token .
|
error |
string |
Jeśli żądanie nie zostało zrealizowane, zawiera kod błędu. |
error_subtype |
string |
Jeśli żądanie się nie powiedzie, może zawierać dodatkowe informacje o kodzie błędu. |