Android и Twitter4j: работа с OAuth с помощью виджета Webview? - PullRequest
6 голосов
/ 22 февраля 2012

У меня есть работающая реализация twitter4j, но процесс OAuth для авторизации приложения оставляет позади работающий веб-браузер Android. Я хотел бы попробовать реализовать свое собственное веб-представление в запущенном действии, чтобы я мог завершить () его или хотя бы очистить после приложения. Проблема в том, что теперь я должен выяснить, как вернуть authURL к моей основной деятельности.

Какой лучший способ вернуть authURL? Я вложил в подкласс виджет веб-просмотра и экспериментирую со способом вернуть authURL в onPageFinished (), но пока не совсем.

private class myWebViewClient extends WebViewClient
{
    @Override
    public void onPageFinished (WebView view, String url)
    {
    Log.d (TAG, "onPageFinished");
       super.onPageFinished (view, url);

       if (url.contains (TwitterLibActivity.CALLBACK_URL) == true)
       {
        /*
        mRetIntent = new Intent();
        mRetIntent.putExtra ("verifed", url);
        setResult (RESULT_OK, mRetIntent);
        */
        Log.d (TAG, "have auth url:" + url);
        finish();
       }
    }


    @Override
    public boolean shouldOverrideUrlLoading (WebView view, String url)
    {
        Log.d (TAG, "myWebViewClient url:" + url);
       //return super.shouldOverrideUrlLoading (view, url);
        return (false);
    }
}

Ответы [ 3 ]

5 голосов
/ 19 марта 2012

Недавно я обнаружил, что эта статья работает только с twitter4j без singpost, эта работа с веб-обзором может помочь вам: http://davidcrowley.me/?p=410

Привет

5 голосов
/ 05 июля 2012

TwitterOAuthView - это подкласс WebView, выделенный для Twitter OAuth на Android с использованием twitter4j.

Twitter OAuth View для Android с использованием twitter4j
http://darutk -oboegaki.blogspot.jp / 2012/07 / твиттер-OAuth-вид-на-андроида-using.html

Поскольку он реализован как подкласс View, его можно легко интегрировать в систему макетов Android. Этот факт делает TwitterOAuthView легко используемым компонентом пользовательского интерфейса.

Его использование очень просто. Просто вызовите метод start ()

// Start Twitter OAuth process. Getting a request token, opening Twitter's
// authorization page, and getting an access token are performed.
view.start(CONSUMER_KEY, CONSUMER_SECRET, CALLBACK_URL, true, listener);

и получите его результат через интерфейс TwitterOAuthView.Listener.

// Definition of TwitterOAuthView.Listener interface.
void onSuccess(TwitterOAuthView view, AccessToken accessToken);
void onFailure(TwitterOAuthView view, TwitterOAuthView.Result result);

Пример реализации Activity с использованием TwitterOAuthView можно найти по адресу GitHub TwitterOAuthView .

0 голосов
/ 22 февраля 2012

Здесь - хороший пример кода интеграции твиттера с android, я сам использовал его с модификациями согласно необходимости ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...