2016-01-22 2 views
-1

Я хочу создать инструмент, позволяющий пользователю публиковать его планирование на нескольких носителях сразу: он должен заполнить форму своим планированием недели своего учреждения, после чего я размещаю его через информационный бюллетень , на его facebook и на его сайте.Опубликовать на страницах Facebook через Graph API с Facebook4j

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

Вот мой код:

Facebook facebook = new FacebookFactory().getInstance(); 
facebook.setOAuthAppId("{app_id}", "{app_secret}"); 
facebook.setOAuthPermissions("public_profile, manage_pages, publish_pages, publish_actions"); 
facebook.setOAuthAccessToken(new AccessToken("app_id|app_secret", null)); 
try { 
     ResponseList<Account> accounts = facebook.getAccounts(); 
    } catch (FacebookException e) { 
     e.printStackTrace(); 
    } 

, который всегда возвращает мне ошибку:

An active access token must be used to query information about the current user. 

Как я могу иметь активный маркер доступа для того, чтобы размещать на страницах, которые suscribed мое приложение?

NB: Я не уверен, что мне действительно нужно приложение. Если есть другой способ опубликовать на нескольких страницах, не запрашивая каждый раз журнал, я тоже в порядке. (может быть какой-то постоянный токен страницы?)

Спасибо!

ответ

0

Хорошо, да, вам нужно приложение для выполнения этих запросов.

Чтобы получить то, что вы описали, вам требуются правильные разрешения, вы все равно пропустите один - а именно pages_show_list.

Кроме того, вы должны установить OAuthAccessToken для токена пользователя не на токен приложения.

+0

Благодарим вас за ответ. Возможно ли получить токен пользователя, не прося клиенту войти в систему со своей учетной записью? Например, если у меня есть учетная запись facebook, которая является редактором всех моих страниц клиентов, и я храню имя пользователя/пароль в свойствах моего сервера? – Labe

+0

Вид. Вы можете расширить токен пользователя до долгого токена - см. [Здесь] (https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension#expiration-and-extension-of -Доступ-маркеры). Просто проверьте в приложении против/me/permissions, если у вас все еще есть доступ с долгоживущим токеном, если нет, просто получите новый. Если бы мой ответ (и или комментарий) помог вам, я был бы признателен, если бы вы отметили мой ответ как решение. –

Смежные вопросы