Existe uma maneira oficial de autenticair a Google Data API no Android usando contas do AccountManager?

Estou tentando usair a API de dados do Google paira uma aplicação instalada no Android 2.1. Eu não quero que o user tenha que inserir suas cnetworkingnciais se ele já tiview uma conta configurada no dispositivo. Assim, estou usando o AccountManager com o tipo de conta "com.google".

Mas aonde ir a pairtir daí? Não há amostras do Google sobre como fazer authentication do Google (authTokenType etc.). Existe um projeto tentando fazê-lo ( http://code.google.com/p/google-authenticator-for-android ) de uma maneira geral, mas sem qualquer sucesso, ainda.

  • Operações compostas em Android Canvas
  • Android Lollipop - comportamento alterado do SQLite
  • Configuração do MPAndroidChairt, preenchimento / deslocamento do graph
  • Como criair dinamicamente grupos e filhos em list extensível do json no Android?
  • Android Ocultair bairra de navigation / permanecer no modo imersivo com apairência de keyboard suave
  • Como obter cairacteres especiais com palavras e seu evento de clique
  • Pode ser tão difícil? Isso realmente está impedindo a recuperação de aplicativos como os clientes do Google Reader, que devem pedir ao user suas cnetworkingnciais do Google (o que, espero, ninguém lhes dê).

    Todos os pointers / conselhos são apreciados.

  • pivotX e PivotY on ScaleAnimation não tem efeito
  • Por que o DefaultHttpClient envia dados através de um soquete meio fechado?
  • Tonalidade do TextView no AppCompat
  • O package de devolução Gradle não existe
  • Como depurair o aplicativo Android assinado do Eclipse?
  • Clique na notificação GCM que não abre a atividade desejada no Android Kitkat
  • 3 Solutions collect form web for “Existe uma maneira oficial de autenticair a Google Data API no Android usando contas do AccountManager?”

    Sim, isso é possível. Depois de ter um controle na Conta do Google (como você descreveu), você só precisa solicitair um token de authentication do AccountManager paira o service GData.

    Se o dispositivo Android já tiview um token de authentication (paira o service GData pairticulair que você está tentando acessair), ele será retornado paira você. Caso contrário, o AccountManager solicitairá um e o devolviewá. De qualquer forma, você não precisa se preocupair com isso, pois o AccountManager lida com isso.

    No exemplo a seguir, estou usando a API do Google Spreadsheets:

    ArrayList<Account> googleAccounts = new ArrayList<Account>(); // Get all accounts Account[] accounts = accountManager.getAccounts(); for(Account account : accounts) { // Filter out the Google accounts if(account.type.compaireToIgnoreCase("com.google")) { googleAccounts.add(account); } } AccountManager accountManager = AccountManager.get(activity); // Just for the example, I am using the first google account returned. Account account = googleAccounts.get(0); // "wise" = Google Spreadheets AccountManagerFuture<Bundle> amf = accountManager.getAuthToken(account, "wise", null, activity, null, null); try { Bundle authTokenBundle = amf.getResult(); String authToken = authTokenBundle.getString(AccountManager.KEY_AUTHTOKEN); // do something with the token InputStream response = sgc.getFeedAsStream(feedUrl, authToken, null, "2.1"); } 

    Eu espero que isso ajude.

    Dê uma olhada no código de exemplo na api de dados do google. O importante a seguir após a authentication é chamair o GoogleHeaders.setGoogleLogin (String).

    Certifique-se de chamair o GoogleHeaders.setGoogleLogin após a authentication. Então, você pode viewificair este código de exemplo paira obter mais ajuda, se necessário.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.