アクセス トークンを受け取ったら、次のようにアプリの設定に保存できます。
provider.retrieveAccessToken(consumer, oauth_verifier);
final Editor edit = prefs.edit();
edit.putString(OAuth.OAUTH_TOKEN, consumer.getToken());
edit.putString(OAuth.OAUTH_TOKEN_SECRET, consumer.getTokenSecret());
edit.commit();
その後、いつでも次のようにコンシューマーを再作成できます。
private OAuthConsumer getConsumer(SharedPreferences prefs) {
String token = prefs.getString(OAuth.OAUTH_TOKEN, "");
String secret = prefs.getString(OAuth.OAUTH_TOKEN_SECRET, "");
OAuthConsumer consumer = new CommonsHttpOAuthConsumer(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);
consumer.setTokenWithSecret(token, secret);
return consumer;
}
コンシューマーを取得したら、API 呼び出しを行うことができ、コンシューマーはそれらに署名します。
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
consumer.sign(request);
HttpResponse response = httpclient.execute(request);
道標のドキュメントによると:
Signpostオブジェクトは非常に軽量であるため、署名付き HTTP リクエストを送信する必要があるアプリケーション内のスレッドごとに OAuthConsumer と OAuthProvider を作成することをお勧めします。どちらのオブジェクトもシリアライズ可能であるため、後で永続化して復元できます。