0

今、私はtwitter4jライブラリを使用して Android に Twitter 統合を実装しようとしています。数か月前に、「 PicPuzzle://tkxel 」のようなダミーのコールバック URL を使用してこれを正常に実装しました。

しかし現在、Twitter はスキームを変更し、ダミー URL を使用したアプリケーションの作成を許可しなくなりました。

問題は認証後です。これは callbackurl にリダイレクトされますが、アプリケーションには戻りません。

申し込みページと登録ページで同じURLを指定しています。Android の Twitter でのコールバックの問題およびOAuth for Twitter を使用して Android でコールバックするにはどうすればよいですか? を参照しました。. しかし、これらのソリューションは現在機能していません。これは、Twitter がダミー URL を使用してアプリケーションを作成することを許可していないためです。この問題を解決するのを手伝ってください。

4

2 に答える 2

0
  1. 独自の WebViewClient サブクラスを作成します。
  2. shouldOverrideUrlLoading(WebView view, String url) メソッドをオーバーライドします。
  3. shouldOverrideUrlLoading() で、url.startsWith(YOUR_CALLBACK_URL) が true かどうかを確認します。
  4. true の場合、URL から「oauth_verifier」パラメーターを取得し、true を返します (shouldOverrideUrlLoading() からの true は、WebView インスタンスが URL をロードするのを防ぎます)。
  5. 手順 4 で取得したパラメーターの値を使用して、アクセス トークンを取得します。

ステップ 4 の後、アプリケーションは WebView インスタンスから制御を取り戻すことができます。

上記の手順が面倒に聞こえる場合は、TwitterOAuthViewを試してください。その使用法は非常に簡単です。電話するだけ

view.start(CONSUMER_KEY, CONSUMER_SECRET, CALLBACK_URL, true, listener);

以下のように定義された TwitterOAuthView.Listener インターフェイスを介して結果を受け取ります。

void onSuccess(TwitterOAuthView view, AccessToken accessToken);
void onFailure(TwitterOAuthView view, TwitterOAuthView.Result result);

TwitterOAuthView.start() メソッドに第四引数に true を指定すると、TwitterOAuthView はコールバック URL にアクセスしないので、この動作を実装してほしいと思います。ソース コードTwitterOAuthView.javaが役立つ場合があります。

于 2012-07-18T19:24:25.423 に答える