Chcę opublikować moje zdjęcia na mojej stronie na Facebooku. Poniżej znajduje się kod, który wypróbowałem, który pochodzi ze strony podręcznika RestFB. Ale pokazuje jakiś błąd, który nie jest zrozumiany. Również w opublikować ("ja/zdjęcia") powinienem przekazać mój nazwa użytkownika zamiast pisać mi?. Również obraz bird.jpg istnieje w moim folderze projektu. Czy ktoś może mi pomóc? Wszelkiego rodzaju pomoc będzie mile widzianePublikowanie zdjęć na stronie Facebook
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());
Jest to błąd, który natknąłem
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)
Również próbowałem poniższy kod
Ale żaden z nich pracuje
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"));
i robi się wyjątek
Exception in thread "main" java.lang.NullPointerException
at pkg.am.ncrb.shot.FaceBookUpload.main(FaceBookUpload.java:35)
Potrzebuję tylko przykładowego fragmentu kodu, który przenosi mój obraz na facebooka. Nie wiem, co poszło nie tak.
_ „Ponadto istnieje bird.jpg obraz w moim folderze projektu” _ - ale '/ bird.jpg' raczej wygląda odniesienie do katalogu głównego serwera. – CBroe
Być może powinieneś sprawdzić za pomocą debuggera, czy obraz można znaleźć. NPE wygląda na to, że obraz nie znajduje się we właściwym miejscu w systemie plików. – Norbert
W przypadku pytania "mnie/zdjęcia" możesz z niego skorzystać. Aby to żądanie zadziałało, musisz użyć tokena dostępu do strony (zamiast tokenu dostępu użytkownika lub tokena dostępu Applicaiton) z włączoną uprawnieniami publish_pages. Zobacz https://developers.facebook.com/docs/graph-api/reference/page/photos#Creating – corvuszero