Как написать сообщение на стене моего приложения на Facebook из движка приложения, используя python? - PullRequest
1 голос
/ 27 мая 2011

У меня есть веб-приложение для движка приложений, которое хочет автоматически писать сообщение на стене приложения Facebook, которым я управляю (т.е. каждый раз, когда на веб-сайте происходит определенное событие, я хочу обновить стену своего приложения Facebook),

Этот код будет вызываться из отложенной задачи на сервере.

Мне не удалось найти ничего, касающегося этого.Ваша помощь будет оценена.

Первым делом я получил токен доступа со следующим кодом:

https://graph.facebook.com/oauth/access_token?client_id=FACEBOOK_APP_ID&client_secret=FACEBOOK_APP_SECRET&grant_type=client_credentials&scope=manage_pages,offline_access

Используя возвращенный токен доступа, я запускаю на сервере:

form_fields = {
    "access_token": FACEBOOK_ACCESS_TOKEN,
    "message": tgText
    };

form_data = urllib.urlencode(form_fields)
result = urlfetch.fetch(url="https://graph.facebook.com/MYAPP_FACEBOOK_ID/feed",
                        payload=form_data,
                        method=urlfetch.POST,
                        validate_certificate=False,
                        headers={'Content-Type': 'application/x-www-form-urlencoded'})

Но вызов этого приводит к:

{"error":{"type":"OAuthException","message":"(#200) The user hasn't authorized the application to perform this action"}}

Ответы [ 2 ]

3 голосов
/ 28 мая 2011

Как администратор вы можете предоставить доступ сторонним приложениям (например, вашему приложению python) для публикации на странице профиля вашего приложения (http://www.facebook.com/apps/application.php?id=YOUR_APP_ID) с использованием OAuth:

http://developers.facebook.com/docs/authentication/ (раздел * 1006)* Страница входа )

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

http://developers.facebook.com/docs/reference/api/post/ (раздел )Издательство )

0 голосов
/ 31 мая 2011

У меня есть похожее приложение. Facebook может изменить код, который вы должны отправить как часть процесса получения токена доступа. Я написал простую веб-страницу, которая создает форму со скрытыми полями ввода, которые содержат данные, необходимые для того, чтобы Facebook авторизовал приложение для пользователя (см. http://developers.facebook.com/docs/reference/dialogs/oauth/).

Когда пользователь нажимает кнопку отправки, браузер отправляет HTTP-запрос GET в Facebook с соответствующей строкой запроса, где пользователю Facebook предлагается войти в систему (при необходимости) и авторизовать приложение. Если авторизованный Facebook перезвонит вашему redirect_url с кодом, который вы можете сохранить в хранилище данных для извлечения при необходимости в рамках потока «дай мне токен доступа».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...