O Android getAuthToken retorna um token nulo

Bem, eu preciso autorizar o acesso do Google Calendar para um usuário, primeiro o google Id funciona bem quando eu uso

blockingGetAuthToken

e ele recebe um token, geralmente faço logon nesse token. Então, quando eu tentei usar outras contas eu tenho um token nulo. Eu procurei muito e descobri que usandogetAuthToken é preferível, pois usa um contexto da atividade chamando-o .. então eu converti todo o processo para usá-lo

 private static final String AUTH_TOKEN_TYPE = "oauth2:https://www.googleapis.com/auth/calendar";

public static String authorize(AndroidtestActivity parent, Account account) {
    AccountManager accountManager = AccountManager.get(parent);
    Bundle options= new Bundle();

    Log.d("MyAPP", "Get Authorization");
    try {
        AccountManagerFuture<Bundle> acc=accountManager.getAuthToken ( account, AUTH_TOKEN_TYPE,  options, true, null, null);
        Bundle authTokenBundle = acc.getResult();
        String authToken = authTokenBundle.get(AccountManager.KEY_AUTHTOKEN).toString();

        Log.d("MyAPP","Token= "+authToken);
        return authToken;


    } catch (Exception ex) {
        Logger.getLogger(GoogleAuthorize.class.getName()).log(Level.SEVERE,
                null, ex);
    }
    return null;
}

}

mas ainda assim nenhuma conta pode ter um token válido, todos recebem um nulo

então eu vi essa respostahttps://stackoverflow.com/a/2021337/1280902 e seguiu usandoinvalidateAuthToken

private static final String AUTH_TOKEN_TYPE = "oauth2:https://www.googleapis.com/auth/calendar";

public static String authorize(AndroidtestActivity parent, Account account) {
    AccountManager accountManager = AccountManager.get(parent);
    Bundle options= new Bundle();

    Log.d("MyAPP", "Get Authorization");
    try {
        AccountManagerFuture<Bundle> acc=accountManager.getAuthToken ( account, AUTH_TOKEN_TYPE,  options, true, null, null);
        Bundle authTokenBundle = acc.getResult();
        String authToken = authTokenBundle.get(AccountManager.KEY_AUTHTOKEN).toString();
        accountManager.invalidateAuthToken("com.google",authToken);
        acc=accountManager.getAuthToken ( account, AUTH_TOKEN_TYPE,  options, true, null, null);
        authTokenBundle = acc.getResult();
        authToken = authTokenBundle.get(AccountManager.KEY_AUTHTOKEN).toString();

        Log.d("MyAPP","Token= "+authToken);
        return authToken;


    } catch (Exception ex) {
        Logger.getLogger(GoogleAuthorize.class.getName()).log(Level.SEVERE,
                null, ex);
    }
    return null;
}

}

mas eu tive o mesmo problema em todas as contas que eu uso, mesmo aquela que costumava trabalhar no começo comblockingGetAuthToken

Então estou faltando alguma coisa?

questionAnswers(1)

yourAnswerToTheQuestion