情况:我正试图在Facebook上将图片发布到我自己的墙上。该图片将与某个给定网址超链接(例如google.com)。
代码片段如下(来自RestFB API的非常标准的代码片段)。我正在使用最新的restfb-1.13:
@SuppressWarnings("deprecation")
FacebookType publishPhotoResponse = facebookClient.publish("me/photos", FacebookType.class,
BinaryAttachment.with("logo200x200.png", getClass().getResourceAsStream(url)),
Parameter.with("link", "www.google.com"),
Parameter.with("message", "Test"));
问题:我收到一条错误消息:java.lang.IllegalArgumentException:二进制附件数据不能为空。
到目前为止我尝试了什么:我尝试使用此代码从本地硬盘获取图像,但它也会出现同样的错误:
InputStream photoInputStream = new FileInputStream(new File(url));
Image image = ImageIO.read(photoInputStream);
@SuppressWarnings("deprecation")
FacebookType photo = facebookClient.publish("me/photos" , FacebookType.class,
BinaryAttachment.with("logo200.png", photoInputStream),
Parameter.with("message", "your message"));
Link photoLink = facebookClient.fetchObject(photo.getId(), Link.class);
FacebookType post = facebookClient.publish("me/feed", FacebookType.class,
Parameter.with("message", "your message"),Parameter.with("type", "photo"),
Parameter.with("link", photoLink.getLink()));
最后,如何将其他网址链接到图片?