0

を取り消された私は、このメソッドを使用して、Googleのクラウドリソースマネージャでプロジェクトを出力し、基本的なアプリを書いている:それは働いていたが、私はトークンを取り消し、コードはdoesnの昨日 https://cloud.google.com/resource-manager/reference/rest/v1/projects/listグーグルOAuth2client - invalid_grant:トークンは

を再認可を促します。

from googleapiclient import discovery from oauth2client.client import GoogleCredentials 

credentials = GoogleCredentials.get_application_default() 

service = discovery.build('cloudresourcemanager', 'v1', credentials=credentials) 

projects = service.projects() request = projects.list() while request is not None: 

    response = request.execute() 

    for project in response['projects']: 
     print project 
    request = projects.list_next(previous_request=request, previous_response=response) 

File "oauth2client/client.py", line 834, in _do_refresh_request raise HttpAccessTokenRefreshError(error_msg, status=resp.status) oauth2client.client.HttpAccessTokenRefreshError: invalid_grant: Token has been revoked.

私は、トークンが有効であるかどうかを確認していない場合は、ブラウザの外にユーザーをポップするためにクライアントを指示する方法があると思うが、それを行うためのコードを取得するように見えることはできません。助けていただきありがとうございました;)

答えて

0

突然、昨日私たちはgerritコードレビューからGoogle OAuth2接続で同様の問題に直面しました。だからあなたに関連するかもしれないので、これを分かち合いたい。このコードは、アプリケーションの既定の資格情報を使用しているので、このgithub issue &そのcommit made for gerrit-oauth-provider

+0

ありがとう、私は応答を感謝します。私はそれが関係しているかどうかはわかりません。セキュリティツール(CloudLock)がGoogleアカウントからOAuthトークンを取り消したとき、私の仕事は停止しました。クライアントライブラリはトークンがまだ有効であると仮定していますが、トークンは有効ではなく、新しいトークンを取得する必要があります。 – Michael

1

を参照してください、のgcloudコマンドは、私は新しいトークンを取得する方法です:

gcloud beta auth application-default login 

をしてこれを行う方法があった場合、それはいいだろうが、トークンが再び取り消された場合のコード。

関連する問題