まずオフにリダイレクト私が働いているかを説明できるように成功したTwitterのログインを(Twitter4Jライブラリを使用して)取得できませんは...戻って私のAndroidアプリ
(1)私はTwitterの上で私のアプリを登録しましたデベロッパーサイトにはいくつかのOAuth資格情報(コンシューマーキー、コンシューマーシークレット、リクエストトークンURLなど)があります。 コールバックURLをコールバック:// tweeter(およびその他のHTTP以外のURL)として入力しましたが、ページの検証に失敗し、「有効なURLフォーマットではありません」というエラーメッセージが表示されます。
(2)次に、私は私のOAuthの資格情報と空のコールバックURLに私の 'CommonsHttpOAuthConsumer' と 'OAuthProvider' オブジェクトを設定し、次のようにウェブの活動をキックオフ:
CommonsHttpOAuthConsumer consumer = new
CommonsHttpOAuthConsumer(myTwitterConsumerKey,
myTwitterConsumerSecret);
OAuthProvider provider = new
DefaultOAuthProvider(myTwitterRequestTokenUrl,
myTwitterAccessTokenUrl, myTwitterAuthorizeUrl);
String authUrl =
provider.retrieveRequestToken(consumer, "");
startActivity(new
Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)));
(3)次I (私のアプリから)起動し、私のTwitterアカウントにサインインした(それによって、私のTwitterアカウントにアクセスすることをアプリに許可したことを認めた)ウェブ活動に続いています。
(4)最後に、リクエストを送信して、自分のTwitterアカウントへのアクセスを許可し、必要な場所に入力するためのピンを私に与えたことを祝福したページにリダイレクトされました。
私はもちろん、承認に成功すると、私のアプリ(Webアクティビティを開始したアクティビティ)にリダイレクトされ、そこで正常な承認を処理します。
私は数多くのことを試しましたが(以下に説明するカップル)、毎回短くなると思います。誰かが私を助けて、私が間違っていることを私に知らせることができれば、私は負債になります!ここで
は、私が試した二つの主なものです:
(1)Iが「コールバック://ツイーター」私のコードでコールバックURLを設定してみました(それは私のアプリのTwitter登録のOAuth設定で空白であるにもかかわらず)しかし、私は次のメソッドの呼び出しを行い、この時、...
provider.retrieveRequestToken(consumer, "callback://tweeter");
... OAuthCommunicationExceptionがメッセージを含む(スローされます。「サービスプロバイダとの通信に失敗しました...」)。
(2)私のアプリのTwitter登録OAuth設定でコールバックURLをHttp Url(例: "http://myhost.com")に設定し、コールバックをキャプチャするためのアクティビティマニフェストにインテントフィルタを指定しようとしました次のように...
<intent-filter>
<action android:name = "android.intent.action.VIEW" />
<category android:name ="android.intent.category.DEFAULT" />
<category android:name ="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="myhost.com" />
</intent-filter>
は...しかし、許可に成功した後、私は
myhost.comにWebアクティビティ(インターネットブラウザ)の中にリダイレクトされていますではなく、私の活動に戻っより。
アディルは、このためのチュートリアルを作りましたt54389.html – Blundell
成功! Blundell、あなたのチュートリアルで私が間違っていたことがわかりました。コールバックURLを「コールバック:// tweeter」(2つのスラッシュ)にする必要がある場合は、「コールバック:///トゥイーター」(つまり3つのスラッシュ)を指定していました。実際、単純化するためには、単に "callback:///"が必要で、インテントフィルタのデータノードは単純に ''です。私はあなたのチュートリアル(テキストボックスに何も入力することはできません)のようにTwitter認証WebViewを起動するときに別の問題を抱えていますが、私はあなたのチュートリアルページや別のstackoverflow質問として質問を出すでしょう。 –
そう別のStackOverflowの質問としてそれを行う] – Blundell