, , . Android GitHub, . , Jumblr.
1:
Bhargav Rao tttony Tumblr. , , , , ...
Tumblr - . , OAuth,
1) httpOAuthprovider signpost, .
commonsHttpOAuthConsumer
= new CommonsHttpOAuthConsumer(
"Consumer Key",
"Consumer Secret Key");
commonsHttpOAuthProvider
= new CommonsHttpOAuthProvider(
"https://www.tumblr.com/oauth/request_token",
"https://www.tumblr.com/oauth/access_token",
"https://www.tumblr.com/oauth/authorize");
return commonsHttpOAuthProvider.retrieveRequestToken(
commonsHttpOAuthConsumer,
"Callback URL as registered with Tumblr"
);
2) - URL-, Tumblr . -, . , WebView. WebView shouldOverrideUrlLoading. URL- . Post Authorization, tumblr a OAuthVerifier, .
public boolean shouldOverrideUrlLoading(WebView view, String strUrl) {
Log.i(TAG, strUrl);
if (strUrl.toLowerCase().contains("Callback URL".toLowerCase())) {
Uri uri = Uri.parse(strUrl);
String strOAuthToken = "";
String strOAuthVerifier = "";
for (String strQuery : uri.getQueryParameterNames())
switch (strQuery) {
case "oauth_token":
strOAuthToken = uri.getQueryParameter(strQuery);
break;
case "oauth_verifier":
strOAuthVerifier = uri.getQueryParameter(strQuery);
break;
}
}
3) OAuthVerifier .
try {
commonsHttpOAuthProvider.retrieveAccessToken(commonsHttpOAuthConsumer, strOAuthVerifier);
if(!TextUtils.isEmpty(commonsHttpOAuthConsumer.getToken())) {
Log.i(TAG, "OAuthToken : " + commonsHttpOAuthConsumer.getToken());
}
if(!TextUtils.isEmpty(commonsHttpOAuthConsumer.getTokenSecret())) {
Log.i(TAG, "OAuthSecretToken : " + commonsHttpOAuthConsumer.getTokenSecret());
}
} catch (OAuthCommunicationException e) {
e.printStackTrace();
return null;
} catch (OAuthExpectationFailedException e) {
e.printStackTrace();
return null;
} catch (OAuthNotAuthorizedException e) {
e.printStackTrace();
return null;
} catch (OAuthMessageSignerException e) {
e.printStackTrace();
return null;
}
4) Token TokenSecret Jumblr TumblrAPI.