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

Я пытаюсь оставлять комментарии на странице приложения в 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 Ответ

1 голос
/ 26 марта 2012

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

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

...