我有一個以前的Android應用程序的代碼,我已經成功與Twitter整合。我已將此代碼複製到一個新應用程序中,併爲我的新應用程序更改callback-url
,consumer-key
和consumer-secret
。Android Twitter集成 - 卡在登錄頁面?
使用twitter4j
庫,我能得到我的RequestToken
和驗證網址如下:
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(myConsumerKey, myConsumerSecret);
RequestToken requestToken = twitter.getOAuthRequestToken(myCallbackUrl);
String authenticationUrl = requestToken.getAuthenticationURL()
的RequestToken
有一個非空token
值,非空tokenSecret
值,空secretKeySpec
值。認證URL是以下形式:
http://api.twitter.com/oauth/authenticate?oauth_token=...
我在WebView
加載這個網址,我看到以下頁面:
這裏我卡住了。當我點擊Sign In
按鈕時,只是同一頁面不斷加載。沒有其他的。當我點擊Cancel
按鈕但是,我看到如下頁面:僅此頁上
當我點擊Return to Fan League Beko BBL
按鈕是我callback-url
調用,與有我oauth_token
它的價值denied
參數。任何人之前看過類似的東西,並知道什麼可能會阻止我的登錄請求被處理?
更新1:我已經試過了驗證網址和從桌面瀏覽器的
Sign In
按鈕,它按預期工作,處理響應,然後調用回調URL。在我的Android應用程序的WebView
中嘗試時,它只是失敗。我已經在多款Android設備和平板電腦上試用過。我的WebView
上也啓用了JavaScript,所以不是這樣。想法最受歡迎。我沒有想法!更新2:我只是做了一些調試模式代碼跟蹤我
WebView
的WebViewClient
,我看到,當我點擊Sign In
按鈕時,shouldOverrideUrlLoading(WebView webView, String url)
方法不叫,但以下有三種方法稱爲(按順序):onPageStarted(WebView view, String url, Bitmap favicon)
,onLoadResource(WebView view, String url)
,onPageFinished(WebView view, String url)
。這些方法具有的url
值是:https://api.twitter.com/oauth/authenticate
,即oauth_token
參數已被剝離驗證URL。也許這是一個POST
請求被視爲GET
請求,因此這一個相同的頁面不斷加載?任何想法我可以做些什麼,這Sign In
按鈕按下處理正確?
希望這會幫助你http://stackoverflow.com/questions/1782743/twitter-integration-on-android-app/12417449#12417449 – Cjames 2013-02-14 03:59:11