2010-12-13 2 views
21

Я работаю над проектом для публикации данных на стенах страниц Facebook. Я создал приложение Facebook и в настоящее время запрашивает следующие разрешения от пользователя при попытке разместить на стене своей страницы:Какие разрешения Facebook позволяют размещать на стене страницы (а не стене профиля)?

  • publish_stream
  • offline_access
  • manage_pages

в настоящее время код сообщения в на стене PROFILE успешно, но при попытке отправить на стену PAGE возвращается следующая ошибка:

Facebook error: (#200) The user hasn't authorized the application to perform this action.

Опять же, я запрашиваю разрешения, которые, по-видимому, достаточны для публикации на стене профиля, но не на стене страницы. Какое разрешение (я) мне не хватает для публикации на стене страницы? Спасибо заранее за любую помощь.

+0

Вам нужно больше информации , Какой протокол (API) вы используете? Получали ли вы токены доступа для страниц? Является ли администратором страницы, которую вы пытаетесь подключить? – Lex

+0

Я использую протокол OAuth 2.0 для получения токенов доступа и использую Graph API для публикации данных, делая запрос на завивание «https://graph.facebook.com/".$facebookPageID."/feed» на разместите данные на стене, принадлежащей $ facebookPageID. Я получил токены доступа как для стены профиля, так и для стены страницы. Страница управляется пользователем, профиль которого я отправил, и Facebook вернул тот же токен доступа для обеих страниц. Маркер доступа был предоставлен путем входа в учетную запись администратора страницы. Большое вам спасибо за ваше время и помощь. – Sean

ответ

12

вот что вы делаете. Сначала прочтите документацию по адресу extended permissions. Обратите внимание на то, что «manage_pages» говорит:

Enables your application to retrieve access_tokens for pages the user administrates. The access tokens can be queried using the "accounts" connection in the Graph API. This permission is only compatible with the Graph API.

Это означает, что вы должны переключить маркер доступа вашего пользователя на основе ответа от

https://graph.facebook.com/$USERID/accounts?access_token=$USER_ACCESS_TOKEN 

для вашего приложения. Поэтому, как только у вас есть доступа к странице ЗНАК, переключите запрос отправить сообщение, как, например:

https://graph.facebook.com/$PAGEID/feed 

в postfields (с помощью завиток или некоторые такие), включают в себя сообщение и $ PAGE_ACCESS_TOKEN

+2

Мне нужно было включить ** status_update ** разрешение (scope = publish_actions, manage_pages, status_update), чтобы опубликовать его на странице FB. Я не мог найти это разрешение в каких-либо документах facebook. См. Http://stackoverflow.com/q/15796138/516910 Мне не нужно было «нравиться» на странице. –

+0

Какое последнее обновление для этого процесса? –

2

Для того, чтобы POST на стенку пользователя вы могли использовать «publish_stream», но это не относится к странице. Чтобы POST на стену страницы нам нужно было сначала, как страница. (Стать фаном теперь удалено Facebook). Вышеприведенный ответ основан на моем опыте работы с FBConnect (Facebook SDK для iPhone). В моем приложении мне пришлось использовать Like Button, чтобы позволить пользователю сначала «Походить на страницу», а затем он мог бы POST на стене PAGE. Я не смог найти какое-либо конкретное разрешение для того же самого, которое могло бы напрямую позволить пользователю публиковать на стене страницы после входа в систему. Если у вас есть какие-либо подсказки, пожалуйста, дайте мне знать.