将图像发布到Facebook页面

soo*_*j g 13 java facebook restfb facebook-graph-api

我想将我的图片发布到我的Facebook页面.下面是我试过的代码,来自RestFB手册页.但它显示出一些未被理解的错误.在发布("我/照片")中,我应该通过我的用户名而不是写信给我吗?图像bird.jpg也存在于我的项目文件夹中.谁能帮我?任何形式的帮助将不胜感激

FacebookClient facebookClient = null;
FacebookType publishPhotoResponse = facebookClient.publish("me/photos",  FacebookType.class,
BinaryAttachment.with("bird.jpg",  FaceBookUpload.class.getResourceAsStream("/bird.jpg")),
              Parameter.with("message", "Test cat"));

System.out.println("Published photo ID: " +  publishPhotoResponse.getId());
Run Code Online (Sandbox Code Playgroud)

这是我遇到的错误

Exception in thread "main" java.lang.IllegalArgumentException: Binary attachment data cannot be null.
at com.restfb.BinaryAttachment.<init>(BinaryAttachment.java:68)
at com.restfb.BinaryAttachment.with(BinaryAttachment.java:113)
at pkg.am.ncrb.shot.FaceBookUpload.main(FaceBookUpload.java:31)
Run Code Online (Sandbox Code Playgroud)

我也试过下面的代码

但它都没有奏效

InputStream is = new FileInputStream(new File("bird.jpg"));
    FacebookType publishVideoResponse =facebookClient.publish("me/photos",FacebookType.class,
            BinaryAttachment.with("bird.jpg", is),
            Parameter.with("message", "MY PHOTO POST"));    
Run Code Online (Sandbox Code Playgroud)

它正在变得异常

Exception in thread "main" java.lang.NullPointerException
at pkg.am.ncrb.shot.FaceBookUpload.main(FaceBookUpload.java:35)
Run Code Online (Sandbox Code Playgroud)

我只需要一个代码示例,将我的图像推送到Facebook.我不知道出了什么问题.

tbo*_*odt 2

  1. 在 Java 中,您不能使用设置为 的对象null。你会得到一个NullPointerException.

    对象null就是FacebookClient. 你应该初始化它:

    FacebookClient facebookClient = new DefaultFacebookClient();
    
    Run Code Online (Sandbox Code Playgroud)
  2. 你把照片放在哪里?如果它嵌入在 jar 文件中,请使用FaceBookUpload.class.getResourceAsStream("/bird.jpg"). 如果它位于当前目录(可能),请使用new FileInputStream(new File("bird.jpg")).