如何使用Facebook Java API将附件添加到墙贴?

时间:2010-10-01 06:09:24

标签: java facebook-java-sdk

嘿 我在使用stream_publish方法时遇到了一些麻烦,更确切地说是我想要包含的附件​​。 我正在构建一个桌面应用程序,我希望能够在用户的墙上发布。该帖子将包含一条消息和一张我将从本地硬盘上传的照片。问题是我不知道如何指定附件的source属性。这是一段代码:

Attachment attachment = new Attachment();
AttachmentMedia media = new AttachmentMediaImage("file:/c:/picture.png", "file:/c:/picture.png");
attachment.addMedia(media);
facebook.stream_publish("picture", attachment, null, new Long(xxxxxxxL), null);

我根本无法弄清楚如何构造AttachmentMediaImage对象。我一直得到以下例外:

com.google.code.facebookapi.FacebookException: One or more of your image records failed to include a valid 'href' field.
    at com.google.code.facebookapi.JsonHelper.parseCallResult(JsonHelper.java:59)
    at com.google.code.facebookapi.ExtensibleClient.extractString(ExtensibleClient.java:2296)
    at com.google.code.facebookapi.ExtensibleClient.stream_publish(ExtensibleClient.java:2150)
    at com.google.code.facebookapi.SpecificReturnTypeAdapter.stream_publish(SpecificReturnTypeAdapter.java:503)
    at MainWindow$1.titleChange(MainWindow.java:64)
    at org.jdesktop.jdic.browser.WebBrowser.dispatchWebBrowserEvent(Unknown Source)
    at org.jdesktop.jdic.browser.NativeEventThread$2.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

创建AttachmentMediaImage时,您需要在公共网络服务器上使用图片的网址 - 您无法使用此API上传本地图片。