Страницы

Поиск по вопросам

четверг, 23 января 2020 г.

WebView и получение токена

#android #java #webview #вконтакте #vkontakte_api


Здравствуйте, уважаемые знатоки! Наверное, у меня глупый вопрос, но все же.
Я пытаюсь в андроид-приложении прикрутить авторизацию Вконтакте с помощью WebView.
Мне нужно, чтобы при запуске приложения запускалась активити с WebView, где пользоавтель
мог ввести логин, пароль и после чего получить токен. 
Я делаю так: 
public class LoginActivity extends Activity {

    WebView webview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        webview = (WebView) findViewById(R.id.loginWebView);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.clearCache(true);

        webview.setWebViewClient(new WebViewClient());
        CookieSyncManager.createInstance(this);

        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.removeAllCookie();

        String url = "https://oauth.vk.com/authorize?client_id=123&scope=65544"; 
        webview.loadUrl(url);
    }   
}

В итоге открывается активити, на ней WebView отображает диалог авторизации вконтакте.
А вот что делать дальше, я не знаю. ( Как получить этот токен из вебвью?    


Ответы

Ответ 1



@JuniorTwo, тебе нужно для своего WebView установить WebViewClient. У него есть метод-callback onPageStarted (WebView view, String url, Bitmap favicon). Как видишь, вторым параметром придёт ссылка, в которой будет указан токен. А вот выдрать токен из строки - это уже твоя задача. Сам URL будет типа http://REDIRECT_URI#access_token= 533bacf01e11f55b536a565b57531ad114461ae8736d6506a3&expires_in=86400&user_id=8492

Комментариев нет:

Отправить комментарий