Używam API Google, aby wysłać e-maile z serwera w moim projekcie Node.js. Ustanowiłem poświadczenia i stworzyłem odświeżany token i dostęp do tokenu i korzystał z tego samego przez ponad 6 miesięcy.

oAuth2Client = new google.auth.OAuth2(client_id, client_secret, redirect_uris);
oAuth2Client.setCredentials({ refresh_token, access_token, scope, expiry_date });
gmail = google.gmail({ version: 'v1', oAuth2Client });
gmail.users.messages.send({ /* email details */ });

Wysyłam expiry_date to ten, który otrzymałem, kiedy za pierwszym razem stworzyłem moje żetony

Pamiętam czytanie, że token dostępu wygasa po pewnym czasie, ale nie jestem pewien, kiedy mój dostęp_tokenowy wygasną lub jak pójdę o stworzenie nowego. Moje e-maile są nadal wysyłane, więc jestem trochę zdezorientowany, dlaczego jeszcze nie przestał działać.

Więc moje pytania są zasadniczo

  1. Jak się dowiedzieć, kiedy wygasa mój Access_Token.
  2. Po upływie tego, jak utworzyć nowy. Podczas ustawiania tego wszystkiego za pierwszym razem, pamiętam, że robię to na placu zabaw, ale wolę skonfigurować proces Creation Access_Token w samym kodzie serwera, jeśli mogę.
2
Zephyr 22 październik 2020, 11:49

1 odpowiedź

Najlepsza odpowiedź

Tokeny dostępu wygasają po godzinie. Najlepszy i jedyny sposób, aby wiedzieć, czy wygasła, jest wypróbowanie, jeśli token dostępu wygasł API zwróci błąd.

Odśwież żetony z drugiej strony w większości nie wygaśnie. Twój kod jest najprawdopodobniej używany przez odświeżający token prawidłowo, aby poprosić o nowy token dostępu, gdy kiedykolwiek potrzebuje. Ta funkcjonalność jest wbudowana w bibliotekę klienta Google API JS dla Ciebie i nie jest czymś, co musisz rozważyć.

Jak wygasa żeton odświeżający

  1. Użytkownik może usunąć dostęp za pośrednictwem swojego konta Google.
  2. Jeśli token dostępu nie był używany w ciągu sześciu miesięcy, Google zostanie automatycznie wygaśnie.
  3. Jeśli zażądasz autoryzacji (pokaż ekran zgody) użytkownikowi otrzymasz żeton odświeżający. Jeśli zrobisz to ponownie, otrzymasz kolejne odświeżanie token¸, oboje będą działać. Możesz mieć do pięćdziesięciu znakomińskiego żetonów odświeżających dla danego użytkownika po trafieniu, że zaznacz to pierwszy wygasnie.
  4. Dziwny błąd z kilku lat temu, że gdy czas letni, który trafił na wiele żetonów Odśwież, automatycznie wygasły z powodu jakiegoś dziwnego błędu na ich końcu, co nie dzieje się ponownie od :)
2
DaImTo 22 październik 2020, 09:28