Публикация на бизнес-странице Facebook из другого пользовательского приложения

#c# #facebook #facebook-wall

#c# #Facebook #facebook-стена

Вопрос:

Я создал страницу компании.

После создания страницы компании я создал для нее пользователя-администратора.

У меня есть приложение FB, которое публикует сообщения на стене другого пользователя, используя их идентификатор пользователя (stream.publish).

Я тоже хочу опубликовать на стене компании, но как я могу опубликовать на стене компании, если у меня нет идентификатора пользователя или AppID.

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

Как я могу получить идентификатор пользователя страницы компании / CompanyID / accesstokenID, чтобы я мог опубликовать на ее стене?

Ответ №1:

Вам необходимо запросить разрешение manage_pages для пользователя admin, которого вы назначили для страниц. Когда вы возвращаетесь с URL авторизации, где вы получаете токен доступа пользователя, вам нужно вызватьhttps://graph.facebook.com/me/accounts ?access_token=TOKEN_FROM_ABOVE URL, который предоставит вам коллекцию страниц, каждая со своим собственным токеном доступа.

Когда вы используете этот токен доступа для публикации, он должен публиковаться как Страница.

http://developers.facebook.com/docs/authentication — Проверьте раздел входа на страницу.

Обновить

Это URL, на который вы перенаправляете браузер:

 https://graph.facebook.com/oauth/authorize?client_id=APP_IDamp;scope=manage_pages,offline_accessamp;display=Popupamp;redirect_uri=REDIRECT_URL
  

Когда пользователь возвращается к указанному URL-адресу перенаправления, вы получаете значение в code параметре URL и вызываете Facebook API, чтобы обменять его на токен доступа. Все это вы, вероятно, уже сделали, поскольку у вас есть приложение, которое размещает сообщения на стене пользователя.

Что вы будете делать сейчас, используя токен доступа, это callhttps://graph.facebook.com/me/accounts ?access_token=TOKEN_FROM_ABOVE который предоставит вам коллекцию страниц, которыми управляет аутентифицированный пользователь, и у каждой из которых есть свой собственный токен доступа.

Возьмите желаемый токен доступа и используйте его для публикации на стене pages.

Комментарии:

1. спасибо, Мартин, ты ответил на вопрос как настоящий профессионал, но мне нужно, чтобы это было немного более удобным для пользователя способом. если я правильно понял: 1. я запрашиваю разрешение «manage_pages» для токена доступа администратора страницы компании — с каким URL? 2. Когда я получу токен доступа администратора, мне нужно позвонить graph.facebook.com/me/accounts ? access_token=TOKEN_FROM_ABOVE для списка токенов доступа к страницам, которые он администрирует (один из них — токен доступа компании) 3. затем я могу использовать этот токен доступа для публикации на странице компании с использованием stream.publish? я правильно понял?

2. 1: URL-это тот, который указан в моем обновленном ответе. Первая после обновления, отформатированная как код. 2: Да. 3: Да, или HTTP-публикация в /PAGEID / feed — посмотрите здесь, в разделе Публикация: developers.facebook.com/docs/reference/api