def _refresh(self, http): """Refreshes the access token. Skip all the storage hoops and just refresh using the API. Args: http: an object to be used to make HTTP requests. Raises: HttpAccessTokenRefreshError: When the refresh fails. """ try: self._retrieve_info(http) self.access_token, self.token_expiry = _metadata.get_token( http, service_account=self.service_account_email) except http_client.HTTPException as err: raise client.HttpAccessTokenRefreshError(str(err))
def _refresh(self, http_request): """Refreshes the access_token. Skip all the storage hoops and just refresh using the API. Args: http_request: callable, a callable that matches the method signature of httplib2.Http.request, used to make the refresh request. Raises: HttpAccessTokenRefreshError: When the refresh fails. """ try: self._retrieve_info(http_request) self.access_token, self.token_expiry = _metadata.get_token( http_request, service_account=self.service_account_email) except httplib2.HttpLib2Error as e: raise client.HttpAccessTokenRefreshError(str(e))
def _do_refresh_request(self, http): """Refresh the access_token using the refresh_token. Args: http: An object to be used to make HTTP requests. rapt_refreshed: If we did or did not already refreshed the rapt token. Raises: oauth2client.client.HttpAccessTokenRefreshError: if the refresh fails. """ headers = self._generate_refresh_request_headers() _LOGGER.info('Refreshing access_token') def http_request(uri, method, body, headers): response, content = transport.request(http, uri, method=method, body=body, headers=headers) content = _helpers._from_bytes(content) return response, content try: self._update(*reauth.refresh_access_token(http_request, self.client_id, self.client_secret, self.refresh_token, self.token_uri, rapt=self.rapt_token, scopes=list(self.scopes), headers=headers)) except (errors.ReauthAccessTokenRefreshError, errors.HttpAccessTokenRefreshError) as e: self.invalid = True if self.store: self.store.locked_put(self) raise client.HttpAccessTokenRefreshError(e, status=e.status)