API Facebook: как публиковать сообщения на стене страницы

Это та же ситуация, что и здесь , но теперь мне нужно опубликовать сообщение на стене Страницы в Facebook.

Я попробовал следующее (другой код такой же, как в ответе):

$facebook->api('/PAGE-ID/feed', 'post', $attachment)

Но я получаю ошибку

(#200) Пользователь не разрешил приложению выполнять это действие`.

Я думаю, что у меня неправильный access_token для этого действия, но где/как мне получить правильный?


person Poru    schedule 12.03.2011    source источник


Ответы (2)


Документация Facebook по получению access_tokens и разрешений задокументирована на их сайте здесь.

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

При запросе access_token вы можете добавить дополнительный атрибут разрешений в выдаваемый запрос GET, в этом ключе вы указываете дополнительные разрешения, которые вам нужны.

РЕДАКТИРОВАТЬ: процесс получения токена с разрешением области здесь, в разделе " Авторизация" посмотрите на второй пример. У него будет образец «области», запрашивающий дополнительные разрешения. Разрешения раньше были задокументированы в потоке OAuth, но, похоже, они переехали, извините.

person GrayWizardx    schedule 12.03.2011
comment
Я должен сделать это автоматически и без ручного доступа к странице Facebook, скрипт должен автоматически получить токен доступа. - person Poru; 12.03.2011
comment
@Poru, это невозможно, насколько я знаю. Все приложения должны либо размещаться через Canvas, либо специально запускать браузер, чтобы пользователь мог войти в систему, а затем предоставлять токен обратно. все это описано в документации API. Как только токен предоставлен, вы можете повторно использовать его из другого процесса. - person GrayWizardx; 13.03.2011

Это сообщение об ошибке больше похоже на то, что у вас есть токен доступа, но разрешения неверны. Ознакомьтесь с расширенными разрешениями.

Вероятно, вам нужно запросить «publish_stream», когда ваш пользователь входит в систему/дает разрешения на ваше «приложение».

person andyg1    schedule 17.06.2011