Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (3)

Лучшие ответы пользователя

Все ответы (3)
  • Как пройти авторизацию VKontakte на Java?

    @andre_macareno
    Во-первых, нужно создать Standalone-приложение через специальную форму ВК.
    Во-вторых, если есть возможность и желание, можно использовать какой-нибудь WebView, чтобы провести пользователя через всякие окошки вроде ввода авторизации и разрешения доступа.
    Но если такой способ не подходит, то можно просто распарсить HTML, и отправлять POST-запросы, а в самом конце выдрать токен из адресной строки. Для Android-приложения я заменял # на "?" и разбирал получившийся query string:
    HttpUriRequest currentReq = (HttpUriRequest) context.getAttribute(ExecutionContext.HTTP_REQUEST);
                    HttpHost currentHost = (HttpHost)  context.getAttribute(ExecutionContext.HTTP_TARGET_HOST);
                    String currentUrl = (currentReq.getURI().isAbsolute()) ? currentReq.getURI().toString() : (currentHost.toURI() + currentReq.getURI());
                    currentUrl = currentUrl.replace("#", "?");
                    Uri uri=Uri.parse(currentUrl);
                    String access_token = uri.getQueryParameter("access_token");
                    long user_id = Long.valueOf(uri.getQueryParameter("user_id"));

    Опять же, так делается в Android - в чистой яве для этого просто не хватит классов.
    Но вообще, это очень некрасиво, и лучше всего, конечно, выпрашивать прямую авторизацию.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (2)