Невозможно опубликовать на странице FB с помощью Graph API 2.3

Я потратил целую вечность, пытаясь заставить это работать, и потратил столько же времени на поиски ответов на форумах (включая этот). К сожалению, я не могу найти решение этой проблемы.....

Я создал приложение FB, которое используется, среди прочего, для публикации (как страницы) на странице в FB.

Благодаря отладке у меня есть весь URL-адрес:

https://graph.facebook.com/216065898461057/feed?access_token={access -токен}

«код доступа» — это код доступа к странице, и я также включил «идентификатор страницы» в URL-адрес. Цитирую документацию FB:

Когда в запросе, таком как POST /v2.3/{id-страницы}/feed, находится токен доступа пользователя администратора Страницы, действие происходит голосом пользователя, а не Страницы. Чтобы опубликовать как Страницу, теперь вы должны использовать токен доступа к Странице.

Запустив код, я получаю следующую ошибку от FB: «Удаленный сервер вернул ошибку: (403) Запрещено».

Если я использую FB Graph Explorer, делая то же самое, я получаю следующую ошибку:

{ "error": { "message": "(#200) Пользователь не разрешил приложению выполнять это действие", "type": "OAuthException", "code": 200, "fbtrace_id": "GgRkiy/ i6tP" } }

Теперь во многих сообщениях будет предложено добавить необходимые разрешения в приложение, но в настоящее время у меня одобрено следующее:

электронная почта, manage_pages, public_profile, publish_actions, publish_pages, user_friends, user_managed_groups

Насколько я понимаю, вам нужны только publish_pages в версии 2.3.

Может ли кто-нибудь понять, почему это не будет работать!


person Richard Snell    schedule 02.12.2015    source источник
comment
отладьте токен страницы в отладчике: developers.facebook.com/tools/debug   -  person luschn    schedule 02.12.2015
comment
что вам нужно, это manage_pages и publish_pages   -  person luschn    schedule 02.12.2015
comment
У меня уже есть и manage_pages, и publish_pages — полный список смотрите в моем посте.   -  person Richard Snell    schedule 02.12.2015
comment
если я использую токен страницы отладки, список областей будет следующим: электронная почта, manage_pages, publish_actions, public_profile — так что у этого нет publish_pages. Вероятно, дело в этом? Приложение имеет publish_pages   -  person Richard Snell    schedule 02.12.2015
comment
ну, это проблема. вы не можете публиковать сообщения без publish_pages. если он не отображается в отладчике, вы не авторизовали его. см. мой ответ.   -  person luschn    schedule 02.12.2015
comment
хорошо. Я запутался. У приложения есть это разрешение, поскольку оно указано в разделе «Утвержденные элементы» — отличается ли область действия кода доступа? И если да, то как мне добавить это разрешение? Извините, у меня нет опыта разработки приложений для фб.   -  person Richard Snell    schedule 02.12.2015
comment
есть большая разница между утвержденным и разрешенным. убедитесь, что вы понимаете разницу. Вы действительно получили эти разрешения в процессе проверки? Вы знаете о проверке входа?   -  person luschn    schedule 02.12.2015
comment
в любом случае ваш токен не включает разрешение publish_pages, поэтому создайте токен, который включает его. либо с помощью проводника API, либо путем программирования процесса входа в систему. см. документы facebook для примеров кода и информации.   -  person luschn    schedule 02.12.2015


Ответы (1)


«Пользователь не разрешил приложению выполнять это действие» обычно означает только одно: в вашем токене доступа отсутствует правильное разрешение. В этом случае это будет publish_pages. У вас обязательно должен быть manage_pages, потому что он нужен для получения токена страницы. Это единственные два разрешения, которые вам нужны для публикации на Странице «как Страница».

Перед получением токена страницы убедитесь, что вы авторизовали пользователя с помощью publish_pages.

person luschn    schedule 02.12.2015
comment
Здорово. Спасибо... теперь он публикуется без ошибок! Хотя он публикуется на моей пользовательской стене, а не в группе... но похоже, что у меня может быть неправильный код доступа - person Richard Snell; 02.12.2015
comment
группа? Я думал, мы говорим о странице здесь, а не о группе? в любом случае, правильная конечная точка — /page-id/feed с токеном страницы. - person luschn; 02.12.2015