RestFB API:使用超链接将图像发布到我的墙上会产生java.lang.IllegalArgumentException:二进制附件数据不能为null

时间:2015-07-24 14:17:42

标签: facebook image fileinputstream restfb

情况:我正试图在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()));

最后,如何将其他网址链接到图片?

0 个答案:

没有答案