Skip to content

Commit

Permalink
Merge pull request #304 from badziyoussef/bug/fix-retrieving-google-o…
Browse files Browse the repository at this point in the history
…auth-token

fix retrieving google oauth token
  • Loading branch information
Pietro395 authored Jan 11, 2025
2 parents 5a050b0 + be66d04 commit 4c71354
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
4 changes: 4 additions & 0 deletions django_mailbox/google_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ def google_api_get(email, url):
if r.status_code == 401:
# Go use the refresh token
refresh_authorization(email)
# Force use of the new token
headers = dict(
Authorization="Bearer %s" % get_google_access_token(email),
)
r = requests.get(url, headers=headers)
logger.info("I got a %s", r.status_code)
if r.status_code == 200:
Expand Down
4 changes: 3 additions & 1 deletion django_mailbox/transports/gmail.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,10 @@ def _connect_oauth(self, username):
access_token = None
while access_token is None:
try:
access_token = get_google_access_token(username)
# token refreshed here when expired
google_email_address = fetch_user_info(username)['email']
# retrieve token from db
access_token = get_google_access_token(username)
except TypeError:
# This means that the google process took too long
# Trying again is the right thing to do
Expand Down

0 comments on commit 4c71354

Please sign in to comment.