После того, как вы получили маркер доступа, вы можете хранить его в своих приложениях предпочтения, как это:
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 docs:
объекты Signpost очень легкие, так вы посоветовали создать OAuthConsumer и OAuthProvider для каждого потока в вашем приложении, которое необходимо отправить подписанное HTTP запрашивает. Оба объекта также могут быть сериализованы, поэтому вы можете их сохранить и восстановить позже.
1+ для справки по официальным документам. – Gem