Android AccountManagerを使用してTwitterで承認するには?
AccountManager am = AccountManager.get(this);
Account[] accts = am.getAccountsByType(TWITTER_ACCOUNT_TYPE);
if(accts.length > 0) {
Account acct = accts[0];
am.getAuthToken(acct, "com.twitter.android.oauth.token"/*what goes here*/, null, this, new AccountManagerCallback<Bundle>() {
@Override
public void run(AccountManagerFuture<Bundle> arg0) {
try {
Bundle b = arg0.getResult();
Log.e("TrendDroid", "THIS AUTHTOKEN: " + b.getString(AccountManager.KEY_AUTHTOKEN));
} catch (Exception e) {
Log.e("TrendDroid", "EXCEPTION@AUTHTOKEN");
}
}}, null);
}
これでcom.twitter.android.oauth.tokenとcom.twitter.android.oauth.token.secretを取得しました。しかし、次のステップは何ですか?これを使用して認証するにはどうすればよいですか?
私は scribe api を使用しており、次のように使用しようとしました。
service.signRequest(new Token(token, secret), request);
しかし、うまくいきません。うまくいかない別の方法も試しました。次のような質問がたくさんあります。
https://dev.twitter.com/discussions/4875
https://groups.google.com/forum/?fromgroups#!topic/twitter-development-talk/1tWEx--5h9w%5B1-25%5D
http://osdir.com/ml/twitter4j/2011-06/msg00128.html
Android: アカウント マネージャーを介して Twitter oAuth を使用する方法
Android の AccountManager クラスによる Twitter 認証
アカウント マネージャーを使用して OAuth トークンを取得する
そして誰も具体的な答えを出さない