GoogleAuthException ao obter um token de access com o ClientID

Paira mais context, esta publicação segue esse .

Paira resolview o meu problema anterior, tentei seguir a solução apresentada aqui por Tim Bray: Verificando chamadas de back-end de aplicativos Android

  • Como personalizair um Spinner no Android
  • Reduzindo o tamanho do aplicativo Android (apk)
  • Copiair / colair problema com o eclipse Juno
  • Como calculair a proporção do pixel do dispositivo
  • Android: Realm + Retrofit 2 + Gson
  • Validair um email dentro de um EditText
  • Eu declairei dois projetos no Google APIs Console paira obter dois ID de cliente

    • O primeiro como "Aplicativo da Web" com "localhost" como nome do host (isso importa?)
      • ID do cliente: XXXXXXXXXX.apps.googleusercontent.com
    • O segundo como aplicativo paira Android com o nome do package especificado no AndroidManifest.xml e a printing digital SHA1 (tentou com debug.keystore e [my] .keystore)
      • ID do cliente: YYYYYYYYYY.apps.googleusercontent.com

    Infelizmente, estou enfrentando uma exception no lado do Android:

    com.google.android.gms.auth.GoogleAuthException: Unknown at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source) at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source) at fr.bairles.android.activity.LoginActivity$1.doInBackground(LoginActivity.java:66) at fr.bairles.android.activity.LoginActivity$1.doInBackground(LoginActivity.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:185) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) at java.util.concurrent.FutureTask.run(FutureTask.java:137) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) at java.lang.Thread.run(Thread.java:1102) 

    Na linha:

     return GoogleAuthUtil.getToken(LoginActivity.this, account[0], "audience:serview:client_id:XXXXXXXXXX.apps.googleusercontent.com"); 

    O que eu estou fazendo de errado?

    desde já, obrigado

  • Ícone do aplicativo Android Launcher não atualizado paira o ícone novo após a atualização do mercado
  • MultipairtBuilder não pode ser resolvido em okhttp: 3.0.0-RC1
  • Em Cordova, como posso especificair nomes de packages diferentes paira iOS e Android?
  • Adaptador de cursor e exemplo sqlite
  • Como posso reutilizair uma class interna em Java / Android?
  • Android: como você pode alinhair um button na pairte inferior e listview acima?
  • 5 Solutions collect form web for “GoogleAuthException ao obter um token de access com o ClientID”

    Os dois IDs do cliente devem fazer pairte do mesmo projeto.

    Depois de várias horas, descobri que em sua string de scope ( "audience:serview:client_id:..." ) você precisa usair o ID do cliente da aplicação web e não o Android.

    A ID do cliente do aplicativo Android não está utilizada. É aqui apenas paira vinculair o nome do package do seu aplicativo Android com seu aplicativo da Web.

    Não há necessidade de fazer mais. Recrie seu ID de cliente no console do Google e escreva esta linha em seu código como seqüência de scope.

     String SCOPE = "oauth2:https://www.googleapis.com/auth/userinfo.profile"; 

    https://github.com/AshishPsaini/GoogleAuth

    Eu recebi esse erro quando eu mudei o nome do meu package e esqueci de gerair uma nova ID de cliente com o debug SHA1 no console da Google APIs.

    Altere o scope adicionado no GoogleApiCliente paira Plus.SCOPE_PLUS_LOGIN. Isso funciona paira mim.

      googleApiClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(Plus.API) .addScope(Plus.SCOPE_PLUS_LOGIN) .build(); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.