diff --git a/fitbit/api.py b/fitbit/api.py index 7a7a20d..d3f8bd5 100644 --- a/fitbit/api.py +++ b/fitbit/api.py @@ -10,6 +10,7 @@ from urllib import urlencode from requests_oauthlib import OAuth2, OAuth2Session +from oauthlib.oauth2.rfc6749.errors import TokenExpiredError from fitbit.exceptions import (BadResponse, DeleteError, HTTPBadRequest, HTTPUnauthorized, HTTPForbidden, HTTPServerError, HTTPConflict, HTTPNotFound, @@ -66,7 +67,7 @@ def make_request(self, url, data={}, method=None, **kwargs): try: auth = OAuth2(client_id=self.client_id, token=self.token) response = self._request(method, url, data=data, auth=auth, **kwargs) - except HTTPUnauthorized as e: + except (HTTPUnauthorized, TokenExpiredError) as e: self.refresh_token() auth = OAuth2(client_id=self.client_id, token=self.token) response = self._request(method, url, data=data, auth=auth, **kwargs)