我有一个以前的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