2017-10-04 8 views
0

私はAndroidアプリケーションをpythonサーバーに持っています。 FlowExchangeError:私は次のエラーを取得するGoogle APIへのサーバー側のアクセスを有効にするとredirect_uri_mismatchエラーが発生する

https://developers.google.com/identity/sign-in/android/offline-access

def google_api(auth_token): 
    # If this request does not have X-Requested-With header, this could be a CSRF 
    #if not request.headers.get('X-Requested-With'): 
     #abort(403) 

    # Set path to the Web application client_secret_*.json file you downloaded from the 
    # Google API Console: https://console.developers.google.com/apis/credentials 
    CLIENT_SECRET_FILE = 'secret.json' 

    # Exchange auth code for access token, refresh token, and ID token 
    credentials = client.credentials_from_clientsecrets_and_code(
     CLIENT_SECRET_FILE, 
     ['https://www.googleapis.com/auth/gmail.readonly', 'profile', 'email'], 
     auth_token) 

    print credentials 
    return credentials.id_token 

:ここredirect_uri_mismatch

である私は常に、ユーザーの電子メールへのアクセス権を持っているサーバーを必要とするので、私は、このガイドを以下のよsecret.json:

{"web":{"client_id":"REDACTED", 
"project_id":"REDACTED", 
"auth_uri":"https://accounts.google.com/o/oauth2/auth", 
"token_uri":"https://accounts.google.com/o/oauth2/token", 
"auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"REDACTED", 
"redirect_uris":["http://localhost:8080/"], 
"javascript_origins":["http://localhost:8080"]}} 

私もredirect_urためhttp://my_actual_domain.com:5000/を使用して試してみましたそれはまだ同じエラーを返します。

私はredirect_urisが何を意味するのか分かりませんか?ガイドに記載されていません。トップにリンクします。

答えて

0

リダイレクトuriは、OAuthクライアントIDを作成したときに指定します。アプリケーションで使用したものは、クライアントIDを要求しているときに指定したものと一致する必要があります。

これが正しく設定されていることを確認してください。

enter image description here

関連する問題