Подтвердить что ты не робот

Публикация изображения на страницу facebook

Я хочу опубликовать свои изображения на моей странице в facebook. Ниже приведен код, который я попробовал, который находится на странице руководства RestFB. Но это показывает некоторую ошибку, которая не понимается. Также в публикации ( "me/photos" ) следует передать мое имя пользователя вместо того, чтобы писать me?. Также в папке проекта есть изображение 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)

Мне просто нужен образец кода, который подталкивает мой образ в facebook. Я не знаю, что пошло не так.

4b9b3361

Ответ 1

  • В Java вы не можете использовать объект, который установлен на null. Вы получите NullPointerException.

    Объектом, который является null, является FacebookClient. Вы должны инициализировать его:

    FacebookClient facebookClient = new DefaultFacebookClient();
    
  • Где вы помещаете фотографию? Если он встроен в файл jar, используйте FaceBookUpload.class.getResourceAsStream("/bird.jpg"). Если он находится в текущем каталоге (возможно), используйте new FileInputStream(new File("bird.jpg")).

Ответ 2

На странице Facebook:

API REST

Ранее устаревший API REST был полностью удален в версии 2.1, и все приложения, все еще использующие его, должны перенести на использование Graph API.

Если ваше мобильное приложение использует недокументированную конечную точку auth.ExtendSSOAccessToken из REST API для распространения долгоживущих токенов доступа, вам необходимо обновить приложение, чтобы использовать полный iOS или Android SDK. SDK автоматически обрабатывают маркеры доступа.

Источник Документы разработчиков Facebook