我想将我的图片发布到我的脸书页面。下面是我试过的代码,来自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());
这是我遇到的错误
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)
我也尝试了下面的代码
但它都没有工作
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"));
它正在变得异常
Exception in thread "main" java.lang.NullPointerException
at pkg.am.ncrb.shot.FaceBookUpload.main(FaceBookUpload.java:35)
我只需要一段代码,将我的图片推送到脸谱版。我不知道出了什么问题。
答案 0 :(得分:2)
在Java中,您无法使用设置为wget "https://docs.google.com/spreadsheets/export?format=tsv&id=1sSi9f6m-zKteoXA4r4Yq-zfdmL4rjlZRt38mejpdhC23" -O sheet.tsv
的对象。您将获得null
。
NullPointerException
的对象是null
。你应该初始化它:
FacebookClient
你把照片放在哪里?如果它已嵌入jar文件中,请使用FacebookClient facebookClient = new DefaultFacebookClient();
。如果它在当前目录中(可能),请使用FaceBookUpload.class.getResourceAsStream("/bird.jpg")
。
答案 1 :(得分:0)
从Facebook页面:
REST API
以前弃用的REST API已在v2.1中完全删除,所有仍在使用它的应用程序必须迁移到使用Graph API。
如果您的移动应用使用REST API中未记录的auth.ExtendSSOAccessToken端点来扩展长期访问令牌,则需要升级您的应用以使用完整的iOS或Android SDK。 SDK将自动处理扩展访问令牌。