Twitter4jでOAuthを実行するのに荒い時間があります。この前に、私は#3255153と401エラーで詳細な問題を抱えていましたが、最終的にそれらを修正し、問題を解決するのがより難しくなりました。Twitter4j OAuthコールバックは成功しますが、テストツイートは失敗します
Twitterアプリケーションの承認ページがブラウザで起動し、ログインして自分のアカウントのアプリケーションを承認します。その後、アプリケーションにリダイレクトされ、何も起こりません。ビューは、認証ページを起動する前とまったく同じです。
正常に動作しているかどうかを確認するには、onResumeまたはonNewIntent(下に表示)のいずれかで、「Twitterに正常にログイン」というメッセージをトーストするように設定しています。このエントリはLogCatに表示として成功したコールバックURLは、しかし、受信された:
12-18 09:25:50.426: I/ActivityManager(186): Starting: Intent { act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=snapp://twitter?oauth_token=tokenhere&oauth_verifier=verifierhere cmp=com.infini_servers.snapp/.SnappActivity } from pid 7853
はここで(もonResumeの仮想クローンを持っている)私のonNewIntentです:
@Override
protected void onNewIntent(Intent intent)
{
super.onNewIntent(intent);
Uri uri = intent.getData();
if (uri != null && uri.toString().startsWith(CALLBACKURL))
{
Toast.makeText(getBaseContext(), "Login to twitter successful!", Toast.LENGTH_LONG);
String verifier = uri.getQueryParameter(oauth.signpost.OAuth.OAUTH_VERIFIER);
try
{
provider.retrieveAccessToken(consumer, verifier);
AccessToken accessToken = new AccessToken(consumer.getToken(),
consumer.getTokenSecret());
twitter.setOAuthConsumer(consumerKey, consumerSecret);
twitter.setOAuthAccessToken(accessToken);
String tweet = "Test";
twitter.updateStatus(tweet);
Toast.makeText(getBaseContext(), "Tweet Successful!", Toast.LENGTH_LONG);
}
catch (Exception e)
{
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_LONG);
}
}
}
そして、私の関連ビットマニフェスト:私は最近、Twitter4jで遊んで、あなたが経験しているのと同様に聞こえるいくつかの問題を抱えてきた
<activity
android:label="@string/app_name"
android:name=".SnappLaunch" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:name=".SnappActivity"
android:launchMode="singleInstance" >
<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="snapp" android:host="twitter" />
</intent-filter>
</activity>
私は同じ問題を抱えていますを参照してください。あなたの問題の解決策を見つけることができましたか? – Dilberted