Если нужна авторизация без WebView, то она выглядит примерно следующим образом:
- //Получаем необходимы cookie
- HttpGet get = new HttpGet(http://vk.com/login.php?email=%s&pass=%s);
- HttpResponse response = mHttpClient.execute(get);
- if (response.getStatusLine().getStatusCode() != 200) {
- throw new UpdateException("Failed to obtain token");
- }
-
- //Делаем запрос на авторизацию
- get = new HttpGet("api.vk.com/oauth/authorize?client_id=_&redirect_uri=http%3A%2F%2Fapi.vk.com%2Fblank.html&response_type=code&scope=audio,offline");
- response = mHttpClient.execute(get);
- if (response.getStatusLine().getStatusCode() != 200) {
- throw new UpdateException("Failed to obtain token");
- }
-
- //Получаем последнюю ссылку на которую нас перенаправили
- final String lastLink = redirectHandler.getLastLocationURI().toString();
- if (lastLink.contains("oauth.vk.com/oauth/authorize")) {
- throw new VkApiException("Failed to login!");
- } else if (lastLink.contains(oauth.vk.com/authorize)) {
- //Попадаем сюда, если у приложения нет подтвержденных разрешений
- final String approveLink = getApproveLink(EntityUtils
- .toString(response.getEntity()));
- get = new HttpGet(approveLink);
- response = mHttpClient.execute(get);
- if (response.getStatusLine().getStatusCode() != 200) {
- throw new UpdateException("Failed to obtain token");
- }
- }
-
- //Если всё хорошо, то получаем из последнего url код
- final String code = extractCode(redirectHandler.getLastLocationURI().toString());
-
- //Получаем токен с помощью библиотеки scribe
- final Verifier verifier = new Verifier(code);
- final Token token = mAuthSevice.getAccessToken(EMPTY_TOKEN, verifier);
PS раньше это работало, но вроде у них что то поменялось.