Jumblr 实施 android
Jumblr Implementation android
我有什么
我有一张照片需要 post编辑到 Social API
就像 FB,TWITTER,TUMBLR,FLICKR
我想要的
我想post我的照片Tumblr
我试过的
我遇到了 Jumblr Client
,它是 Tumblr
的官方客户端
我的问题
文档直接说
JumblrClient client = new JumblrClient("consumer_key","consumer_secret");
client.setToken("oauth_token", "oauth_token_secret");
我有 consumer_key
& consumer_secret
,如何验证和获取 oauth_token , oauth_token_secret
我必须承认,缺少 Jumblr 文档。
请参考以下链接。他们会回答你的问题。
1) 完整的登录程序代码:Github Project
2) post 图像到 Tumblr 的代码片段:Code snippet
感谢 Clinkz。它在这些链接中非常靠前,但如果仍然有人有问题,这是我在我的 Android app 中使用的代码,它工作正常。 对于 Android,我们必须在第 1 次在应用级别 gradle 文件中添加这两行:
实施'com.daksh:loglr:2.1.4'
实施 'com.tumblr:jumblr:0.0.13'
</p>
<pre><code>private void loginToTumblr() {
Loglr loglr = Loglr.INSTANCE;
if(loglr != null) {
loglr.setConsumerKey("TUBMLR_CONSUMER_KEY"); // Replace with your App's Key
loglr.setConsumerSecretKey("TUBMLR_CONSUMER_SECRET"); // Replace with your App's Key
loglr.setUrlCallBack("https://www.callback.com/"); // Replace with your App's Callback
loglr.setLoginListener(new LoginListener() {
@Override
public void onLoginSuccessful(com.tumblr.loglr.LoginResult loginResult) {
String oAuthToken = loginResult.getOAuthToken();
String oAuthTokenSecret = loginResult.getOAuthTokenSecret();
Log.w(TAG, oAuthToken + "\n" + oAuthTokenSecret);
shareOnTumblr(oAuthToken , oAuthTokenSecret);
}
});
loglr.setExceptionHandler(new ExceptionHandler() {
@Override
public void onLoginFailed(RuntimeException e) {
Log.e(TAG, "Loglr Exeception: " + e.getMessage());
Toast.makeText(this, "Sorry! can't login to the tumblr.", Toast.LENGTH_LONG).show();
}
});
loglr.initiate(this);
}
else
Toast.makeText(this, "Something went wrong while Loggin in to Tumblr.", Toast.LENGTH_LONG).show();
}
登录后如果你想分享一些带有标题的图片,你可以使用以下代码:
</p>
<pre><code>private void shareOnTumblr(String token, String tokenSecret) {
IResult iResult = new IResult() {
@Override
public void onSuccess(String result) {
loadingBar.hide();
Toast.makeText(this, result, Toast.LENGTH_LONG).show();
}
@Override
public void onError(String error) {
Toast.makeText(this, error, Toast.LENGTH_LONG).show();
}
};
String caption = "IMAGE CAPTION GOES HERE";
String imagePath = "IMAGE PATH GOES HERE"; //It must a String
String params[] = new String[]{token, tokenSecret , caption, imagePath};
new TumblrPostAsyncTask(iResult).execute(params);
}
</p>
<pre><code>public static class TumblrPostAsyncTask extends AsyncTask<String, String, Boolean> {
IResult iResult;
TumblrPostAsyncTask(IResult iResult){
this.iResult = iResult;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Boolean doInBackground(String... params) {
boolean result;
try {
JumblrClient client = new JumblrClient("TUBMLR_CONSUMER_KEY", "TUBMLR_CONSUMER_SECRET");
client.setToken(params[0], params[1]);
PhotoPost post = client.newPost(client.user().getBlogs().get(0).getName(),PhotoPost.class);
Log.w(TAG, params[2] + " " + params[3]);
post.setCaption(params[2]);
post.setData(new File(params[3]));
post.save();
result = true;
} catch (Exception e) {
Log.w(TAG, "Tumblr's Error: " + e.getMessage());
result = false;
}
return result;
}
@Override
protected void onPostExecute(Boolean success) {
super.onPostExecute(success);
Log.w(TAG, "On Post Execute: " + success);
if(success)
iResult.onSuccess("Successfully Posted on Tumblr.");
else
iResult.onError("Sorry! couldn't Post on Tumblr.");
}
}
界面如下所示:
</p>
<pre><code>public interface IResult {
void onSuccess(String result);
void onError(String error);
}
我有什么
我有一张照片需要 post编辑到 Social API
就像 FB,TWITTER,TUMBLR,FLICKR
我想要的
我想post我的照片Tumblr
我试过的
我遇到了 Jumblr Client
,它是 Tumblr
我的问题
文档直接说
JumblrClient client = new JumblrClient("consumer_key","consumer_secret");
client.setToken("oauth_token", "oauth_token_secret");
我有 consumer_key
& consumer_secret
,如何验证和获取 oauth_token , oauth_token_secret
我必须承认,缺少 Jumblr 文档。
请参考以下链接。他们会回答你的问题。
1) 完整的登录程序代码:Github Project
2) post 图像到 Tumblr 的代码片段:Code snippet
感谢 Clinkz。它在这些链接中非常靠前,但如果仍然有人有问题,这是我在我的 Android app 中使用的代码,它工作正常。 对于 Android,我们必须在第 1 次在应用级别 gradle 文件中添加这两行:
实施'com.daksh:loglr:2.1.4'
实施 'com.tumblr:jumblr:0.0.13'
</p>
<pre><code>private void loginToTumblr() {
Loglr loglr = Loglr.INSTANCE;
if(loglr != null) {
loglr.setConsumerKey("TUBMLR_CONSUMER_KEY"); // Replace with your App's Key
loglr.setConsumerSecretKey("TUBMLR_CONSUMER_SECRET"); // Replace with your App's Key
loglr.setUrlCallBack("https://www.callback.com/"); // Replace with your App's Callback
loglr.setLoginListener(new LoginListener() {
@Override
public void onLoginSuccessful(com.tumblr.loglr.LoginResult loginResult) {
String oAuthToken = loginResult.getOAuthToken();
String oAuthTokenSecret = loginResult.getOAuthTokenSecret();
Log.w(TAG, oAuthToken + "\n" + oAuthTokenSecret);
shareOnTumblr(oAuthToken , oAuthTokenSecret);
}
});
loglr.setExceptionHandler(new ExceptionHandler() {
@Override
public void onLoginFailed(RuntimeException e) {
Log.e(TAG, "Loglr Exeception: " + e.getMessage());
Toast.makeText(this, "Sorry! can't login to the tumblr.", Toast.LENGTH_LONG).show();
}
});
loglr.initiate(this);
}
else
Toast.makeText(this, "Something went wrong while Loggin in to Tumblr.", Toast.LENGTH_LONG).show();
}
登录后如果你想分享一些带有标题的图片,你可以使用以下代码:
</p>
<pre><code>private void shareOnTumblr(String token, String tokenSecret) {
IResult iResult = new IResult() {
@Override
public void onSuccess(String result) {
loadingBar.hide();
Toast.makeText(this, result, Toast.LENGTH_LONG).show();
}
@Override
public void onError(String error) {
Toast.makeText(this, error, Toast.LENGTH_LONG).show();
}
};
String caption = "IMAGE CAPTION GOES HERE";
String imagePath = "IMAGE PATH GOES HERE"; //It must a String
String params[] = new String[]{token, tokenSecret , caption, imagePath};
new TumblrPostAsyncTask(iResult).execute(params);
}
</p>
<pre><code>public static class TumblrPostAsyncTask extends AsyncTask<String, String, Boolean> {
IResult iResult;
TumblrPostAsyncTask(IResult iResult){
this.iResult = iResult;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Boolean doInBackground(String... params) {
boolean result;
try {
JumblrClient client = new JumblrClient("TUBMLR_CONSUMER_KEY", "TUBMLR_CONSUMER_SECRET");
client.setToken(params[0], params[1]);
PhotoPost post = client.newPost(client.user().getBlogs().get(0).getName(),PhotoPost.class);
Log.w(TAG, params[2] + " " + params[3]);
post.setCaption(params[2]);
post.setData(new File(params[3]));
post.save();
result = true;
} catch (Exception e) {
Log.w(TAG, "Tumblr's Error: " + e.getMessage());
result = false;
}
return result;
}
@Override
protected void onPostExecute(Boolean success) {
super.onPostExecute(success);
Log.w(TAG, "On Post Execute: " + success);
if(success)
iResult.onSuccess("Successfully Posted on Tumblr.");
else
iResult.onError("Sorry! couldn't Post on Tumblr.");
}
}
界面如下所示:
</p>
<pre><code>public interface IResult {
void onSuccess(String result);
void onError(String error);
}