Ответы пользователя по тегу ВКонтакте
  • Авторизация Вконтакте на java?

    @bracadabra
    Если нужна авторизация без WebView, то она выглядит примерно следующим образом:
    1. //Получаем необходимы cookie
    2. HttpGet get = new HttpGet(http://vk.com/login.php?email=%s&pass=%s);
    3. HttpResponse response = mHttpClient.execute(get);
    4. if (response.getStatusLine().getStatusCode() != 200) {
    5. throw new UpdateException("Failed to obtain token");
    6. }
    7.  
    8. //Делаем запрос на авторизацию
    9. 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");
    10. response = mHttpClient.execute(get);
    11. if (response.getStatusLine().getStatusCode() != 200) {
    12. throw new UpdateException("Failed to obtain token");
    13. }
    14.  
    15. //Получаем последнюю ссылку на которую нас перенаправили
    16. final String lastLink = redirectHandler.getLastLocationURI().toString();
    17. if (lastLink.contains("oauth.vk.com/oauth/authorize")) {
    18. throw new VkApiException("Failed to login!");
    19. } else if (lastLink.contains(oauth.vk.com/authorize)) {
    20. //Попадаем сюда, если у приложения нет подтвержденных разрешений
    21. final String approveLink = getApproveLink(EntityUtils
    22. .toString(response.getEntity()));
    23. get = new HttpGet(approveLink);
    24. response = mHttpClient.execute(get);
    25. if (response.getStatusLine().getStatusCode() != 200) {
    26. throw new UpdateException("Failed to obtain token");
    27. }
    28. }
    29.  
    30. //Если всё хорошо, то получаем из последнего url код
    31. final String code = extractCode(redirectHandler.getLastLocationURI().toString());
    32.  
    33. //Получаем токен с помощью библиотеки scribe
    34. final Verifier verifier = new Verifier(code);
    35. final Token token =  mAuthSevice.getAccessToken(EMPTY_TOKEN, verifier);


    PS раньше это работало, но вроде у них что то поменялось.
    Ответ написан
    8 комментариев
  • Залогиниться вконтакте через php/python

    @bracadabra
    Я для авторизации просто использовал обычный get запрос на vk.com/login.php?email=EMAIL&pass=PASSWORD, после этого мне приходила страница пользователя и нужные куки, которые я использовал для получения авторизационного токена (без компоненты браузера) для дальнейшего выполнения запросов к API.
    Ответ написан
    5 комментариев