Twitter との統合に成功した以前の Android アプリのコードがあります。このコードを新しいアプリにコピーし、新しいアプリの と を変更しcallback-urlましconsumer-keyたconsumer-secret。
twitter4jライブラリを使用して、RequestToken次のように認証 URLを取得できます。
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(myConsumerKey, myConsumerSecret);
RequestToken requestToken = twitter.getOAuthRequestToken(myCallbackUrl);
String authenticationUrl = requestToken.getAuthenticationURL()
にRequestTokenは、nulltoken以外の値、null 以外のtokenSecret値、および null 値がありsecretKeySpecます。認証 URL の形式は次のとおりです。
http://api.twitter.com/oauth/authenticate?oauth_token=...
この URL を my にロードするWebViewと、次のページが表示されます。

ここで私は立ち往生しています。ボタンをクリックするとSign In、この同じページが読み込まれ続けます。他には何もありません。ただし、ボタンをクリックするとCancel、次のページが表示されます。

Return to Fan League Beko BBLボタンをクリックすると、このページでのみ、値としてmy を持つパラメーターを使用してcallback-url呼び出されます。以前にこのようなことを見て、サインイン要求の処理を妨げている原因を知っている人はいますか?deniedoauth_token
更新 1:デスクトップ ブラウザーから認証 URL とボタンを試してみましたが、
Sign In期待どおりに動作し、応答を処理してからコールバック URL を呼び出します。WebViewAndroidアプリで試してみると失敗します。複数の Android デバイスとタブレットで試しました。私もJavaScriptが有効になっているWebViewので、そうではありません。アイデアは大歓迎です。私はアイデアがありません!更新 2:でデバッグ モードのコード トレースを行った
WebViewところ、ボタンWebViewClientをクリックするとメソッドが呼び出されず、次の 3 つのメソッドが (順番に) 呼び出されることがわかりました。、。これらのメソッドの値は次のとおりです: 、つまり、パラメーターは認証 URL から取り除かれています。おそらく、これはリクエストとして扱われているリクエストであり、この同じページがロードされ続けるのはなぜですか? このボタンの押下を適切に処理するために私ができることはありますか?Sign InshouldOverrideUrlLoading(WebView webView, String url)onPageStarted(WebView view, String url, Bitmap favicon)onLoadResource(WebView view, String url)onPageFinished(WebView view, String url)urlhttps://api.twitter.com/oauth/authenticateoauth_tokenPOSTGETSign In
