2015-01-22 2 views
0

jumblr을 사용하여 tumblr을 통해 텍스트 및 사진을 게시하는 간단한 응용 프로그램을 개발 중입니다. 텍스트 게시가 완벽하게 작동합니다. 그러나 파일로 작동하는 이미지 게시는 URL에 의한 이미지 게시가 작동하지 않습니다.jumblr를 사용하여 사진 올리기

내 코드

   client = new JumblrClient(TumblrConstants.tumblrConsKey, 
         TumblrConstants.tumblrSecKey); 
       client.setToken(objSession.getToken(), 
         objSession.getTokenSecret()); 
       // This part is working perfectly 
       PhotoPost photoPost =client.newPost(client.user().getName(), 
         PhotoPost.class); 
       File file=new File(picturePath); 
       photoPost.setPhoto(new Photo(file)); 
       photoPost.save(); 

       // This part is not working 
       PhotoPost photoPost1 = client.newPost(client.user().getName(), 
         PhotoPost.class); 
       String imgUrl = "http://dummyimage.com/300.png/09f/fff"; 
       photoPost1.setCaption("sample"); 
       //photoPost.setSource(imgUrl); 
       photoPost1.setLinkUrl(imgUrl); 
       photoPost1.save(); 

    //    TextPost post = client.newPost(client.user().getName(), 
    //      TextPost.class); 
    //    post.setTitle("Sample title"); 
    //    post.setBody(txt); 
    //    post.save(); 

오류 : 당신은 쉽게 사용 jumblr 할 수

01-22 16:25:44.929: E/AndroidRuntime(10082): FATAL EXCEPTION: AsyncTask #1 
01-22 16:25:44.929: E/AndroidRuntime(10082): java.lang.RuntimeException: An error occured while executing doInBackground() 
01-22 16:25:44.929: E/AndroidRuntime(10082): at android.os.AsyncTask$3.done(AsyncTask.java:299) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at java.lang.Thread.run(Thread.java:856) 
01-22 16:25:44.929: E/AndroidRuntime(10082): Caused by: org.scribe.exceptions.OAuthConnectionException: There was a problem while creating a connection to the remote service. 
01-22 16:25:44.929: E/AndroidRuntime(10082): at org.scribe.model.Request.send(Request.java:69) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at org.scribe.model.Request.send(Request.java:75) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at com.tumblr.jumblr.request.RequestBuilder.postMultipart(RequestBuilder.java:56) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at com.tumblr.jumblr.JumblrClient.postCreate(JumblrClient.java:352) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at com.tumblr.jumblr.types.Post.save(Post.java:331) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at com.selva.TumblrLogin$PublishPicture.doInBackground(TumblrLogin.java:445) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at com.selva.TumblrLogin$PublishPicture.doInBackground(TumblrLogin.java:1) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
01-22 16:25:44.929: E/AndroidRuntime(10082): ... 5 more 
01-22 16:25:44.929: E/AndroidRuntime(10082): Caused by: java.io.IOException: No authentication challenges found 
01-22 16:25:44.929: E/AndroidRuntime(10082): at libcore.net.http.HttpURLConnectionImpl.getAuthorizationCredentials(HttpURLConnectionImpl.java:427) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at libcore.net.http.HttpURLConnectionImpl.processAuthHeader(HttpURLConnectionImpl.java:407) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at libcore.net.http.HttpURLConnectionImpl.processResponseHeaders(HttpURLConnectionImpl.java:356) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:292) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:486) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at libcore.net.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:134) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at org.scribe.model.Response.<init>(Response.java:29) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at org.scribe.model.Request.doSend(Request.java:115) 
01-22 16:25:44.929: E/AndroidRuntime(10082): at org.scribe.model.Request.send(Request.java:65) 
01-22 16:25:44.929: E/AndroidRuntime(10082): ... 13 more 

답변

1

- 텀블러 자바 클라이언트

JumblrClient client = new JumblrClient(Constant.CONSUMER_KEY,Constant.CONSUMER_SECRET); 

client.setToken(preferences.getString("token",null), preferences.getString("token_secret", null)); 

PhotoPost pp = client.newPost(client.user().getBlogs().get(0).getName(),PhotoPost.class); 

pp.setCaption(caption); 
// pp.setLinkUrl(link); 
// pp.setSource(mImage); // String URL 
pp.setPhoto(new Photo(imgFile)); 
pp.save(); 
+0

나는 –

+0

photoPost.setPhoto을 시도하고 알려줍니다 (새 사진 ("https://www.tablesavvy.com/img/big/nana-quail.jpg")); 다시 오류가 발생합니다. –

+0

친애하는, URL 대신에 과 같은 파일을 보내야합니다. imgFile = new File (imagePath); photoPost.setPhoto (새 사진 (img 파일)); –

0

나는 새로운 PhotoPost을 저장 &을 만들 수있었습니다을 일단 인증되면 다음 코드로 URL로

final String source = "<YOUR IMAGE URL HERE>"; 
final PhotoPost post = client.newPost("<AUTHENTICATED BLOG NAME>", PhotoPost.class); 
post.setSource(source); 
post.save();