我有来自以前的 Android 应用程序的代码,我成功地与 Twitter 集成。我已将此代码复制到一个新应用程序中,并为我的新应用程序更改了callback-url,和 。consumer-keyconsumer-secret
使用该twitter4j库,我可以获得我的RequestToken身份验证 URL,如下所示:
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=...
我在我的中加载了这个 url,WebView我看到了以下页面:

我在这里卡住了。当我单击Sign In按钮时,只是同一页面不断加载。没有其他的。但是,当我单击该Cancel按钮时,我会看到以下页面:

只有在我单击Return to Fan League Beko BBL按钮时才会在此页面上callback-url调用我,并使用一个denied以 myoauth_token作为其值的参数。任何人以前都见过这样的事情并且知道什么可能会阻止我的登录请求被处理???
更新 1:我已经尝试了
Sign In来自桌面浏览器的身份验证 URL 和按钮,它按预期工作,处理响应,然后调用回调 URL。WebView在我的 Android 应用程序中尝试它只是失败了。我已经在多个 Android 设备和平板电脑上尝试过。我也启用了 JavaScript,WebView所以不是这样。想法最受欢迎。我没主意了!更新 2:我刚刚对我
WebView的 's进行了一些调试模式代码跟踪,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正确处理此按钮按下吗?
