2014-10-31 74 views
1

我正在使用facebook4j庫來整合Facebook api在java中。但是,當我嘗試使用place屬性發布照片時,我遇到了問題。Facebook4j庫張貼照片問題

Media media = new Media(new File(<image-path-here>)); 
PhotoUpdate update = new PhotoUpdate(media); 
update.message("photo upload test"); 
update.setPlace("Bangalore"); 
facebook.postPhoto(update);  

,但我得到以下異常:SEVERE: Servlet.service() for servlet [post] in context with path [/Sample] threw exception [message - An unknown error has occurred.FacebookException{statusCode=500, errorType='OAuthException', errorMessage='An unknown error has occurred.', errorCode=1, errorSubcode=-1, version=2.2.0}

事實證明沒有「setplace」其作品完全罰款。我不知道我是否按照正確的方式進行搜索並搜索了一些樣本。但找不到一個,任何人都可以請建議我在這裏做錯了什麼?我可以在沒有設置位置的情況下在Facebook上發佈照片,但我需要爲圖片設置位置。

謝謝

+0

有沒有人找到了解決上述問題的解決方案?我真的在這裏苦苦掙扎:( – Ishaan 2014-11-17 17:55:10

回答

1

我的解決方案,我把圖片上傳到服務器並上傳文件到Facebook。你可以看到下面的例子。

/** 
* NOTE: Post Photo To Wall Facebook 
* @param String idToObject 
* @param File filePhoto (This is real file from server) 
* @return List<String> 
*/ 
public String postToWallPhoto(String idToObject, UploadedFile uploadedFile) { 
    PhotoUpdate photoUpdate = null; 
    try { 
     Media media=new Media(uploadedFile.getFile()); 
     photoUpdate = new PhotoUpdate(media); 
     photoUpdate.message(postItem.getGroupMessage()); 

     String idPost = facebook.postPhoto(idToObject, photoUpdate); 

    } catch (FacebookException e) { 
     e.printStackTrace(); 
    } 
    return idPost; 
} 
+0

感謝您的示例代碼。我想要的是能夠將位置添加到圖像。你能告訴我這是否和我的問題中的「setplace()」方法一樣? – Ishaan 2015-11-26 08:56:46

+0

對不起,我還沒有嘗試過setPlace()之前。你可以用你的代碼 – 2016-03-22 15:52:07

+0

進行測試。謝謝@ minh-nguyen。讓我試試看。 – Ishaan 2016-03-25 06:37:11

0

你可以試試這個。

PostUpdate post= update = new PostUpdate("@Minh Nguyen") 
     .picture(new URL("Img_url")); 
facebook.postFeed(id,post); 
+0

上面的工作完全沒問題,謝謝,但我的要求是1.圖片應該來自本地存儲,2.圖片的位置應該存在,我一直沒有找到任何解決方案直到日期,所以我在消息/故事中添加了位置。無論如何感謝您的輸入!:) – Ishaan 2015-08-13 11:45:04