Публикация сгенерированных приложением комментариев на странице Facebook с использованием Java

Я пытаюсь оставлять комментарии на странице приложения в Facebook. Мое приложение написано на Java с использованием Spring MVC. Функциональность, которую я хотел бы реализовать, заключается в том, что всякий раз, когда я публикую некоторый текст на своей странице из моего бэк-офиса, то же самое сообщение будет опубликовано на моей странице в Facebook. Пока я сделал это для Твиттера, и это работает очень хорошо. На Facebook я столкнулся с проблемой. Из того, что я нашел, единственный API, который почти обновлен, это RestFB. Я попробовал следующее, как показывает их пример:

FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN);
FacebookType publishMessageResponse =
facebookClient.publish("me/feed", FacebookType.class,
Parameter.with("message", "RestFB test"));

Я создал свое приложение на https://developers.facebook.com/ и получил оттуда токен доступа. Но это привело к исключению, что у меня нет необходимых разрешений. Я искал в Интернете, и я столкнулся с сообщением здесь: Facebook: отправить приглашение приложения

И я попробовал этот пример тоже. Результат был таким же, что у меня нет правильных разрешений. Я дважды проверил разрешения, которые я выдаю, и все соответствующие один раз разрешены.

Может кто-нибудь, пожалуйста, помогите мне. Это API в актуальном состоянии? Я проверяю, и последняя опубликованная дата была октябрь 2011 года, и я знаю, что Facebook сделал некоторые изменения после нового года. Кроме того, есть ли другие лучшие API? И, наконец, если кто-то знает, как это сделать, он может опубликовать пример здесь.

@Alexandre @Tartoth

Я отправляю сообщение администратору страницы, которая является моей собственной в данный момент, и все же она выдает мне ошибку. Вот код, который я использую, чтобы оставить комментарий. Я новичок в этом, так что, возможно, я делаю что-то не так

String tokenUrl = "https://graph.facebook.com/oauth/access_token?client_id=" + appId + "&client_secret=" + appSecret
                + "&grant_type=client_credentials";
        HttpClient client = new HttpClient();
        HttpMethod method = new GetMethod(tokenUrl);

        client.executeMethod(method);
        String rawAccessToken = new String(method.getResponseBody());

        String accessToken = rawAccessToken.split("=")[1];

        FacebookClient facebookClient = new DefaultFacebookClient(accessToken);
        String to = appId +"/feed";

        facebookClient.publish(to, FacebookType.class,
                Parameter.with(msg, "RestFB test"));

Обновление: я решил ранее проблему. И теперь мое приложение получает свой токен приложения, и я могу использовать его для публикации сообщений, но проблема в том, что эти сообщения нельзя просмотреть на странице приложения. Я знаю, что сообщение отправлено, потому что я могу получить к нему доступ, используя https://graph.facebook.com/publishedMessageId. Теперь мой новый вопрос:

Это правильный способ отображения сообщений на странице приложения? Причиной этого вопроса является то, что на странице приложения само по себе при открытии его непосредственно из Facebook у вас есть только обновить статус. Но когда я смотрел на API RestFb, я не объяснил, как можно обновить статус приложения.

Если это не так, может кто-нибудь объяснить мне, как я могу обновить статус приложения. Это означает, что все, чего я хочу добиться, - это когда я что-то изменяю в своем веб-приложении (с точки зрения публикации некоторых новостей), я хочу, чтобы в моем статусе на странице приложения в Facebook были те же новости.

1 ответ

Вам необходимо опубликовать с помощью токена доступа к странице, который является пользователем (администратором страницы), который предоставляет разрешение "manage_pages" для приложения.

Документация: https://developers.facebook.com/docs/authentication/pages/

Другие вопросы по тегам