Автоматическое размещение на странице Facebook с Python - PullRequest
5 голосов
/ 23 февраля 2011

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

Насколько я видел, в большинстве примеров API-интерфейсов для графических приложений речь идет о создании приложений для facebook на python и их связи с python, что сильно отличается от того, что я хочу.

Также для графа api требуется токен oauth, который, как утверждается в документации, получается:

https://www.facebook.com/dialog/oauth? client_id = YOUR_APP_ID & redirect_uri = YOUR_URL

Я думаю, что это означает:

а) Я ДОЛЖЕН создать для этого приложение на Facebook, которое я не считал необходимым (в конце концов, это то, что требовало бы только моих стандартных учетных данных и не использовалось бы другими людьми), но это хорошо. У меня есть приложение, созданное для этой задачи.

b) Мне нужен URL, которого у меня нет, потому что это всего лишь скрипт.

Есть идеи, где мне искать информацию?

1 Ответ

6 голосов
/ 24 февраля 2011

Сначала Вам нужно получить свои Facebook_App_Id и Facebook_App_Secret с Facebook, которые вы получите при регистрации приложения.

Затем вы включаете необходимые URL.

redirect_client_url = 'http://your-redirect-url'
access_token_url = 'https://graph.facebook.com/oauth/access_token?client_id='+consumer_key+'&redirect_uri='+red   irect_client_url+'&client_secret='+consumer_secret+'&code='
scope = 'publish_stream,offline_access,user_birthday,email'
authorize_url = 'https://graph.facebook.com/oauth/authorize?client_id='+consumer_key+'&redirect_uri='+redirect_client_url+'&scope='+scope+'&display=touch'
user_info_url = 'https://graph.facebook.com/me?access_token='

Ваш ключ потребителя и секрет потребителя являются идентификатором приложения Facebook и секретом приложения Facebook соответственно.

Вы, в основном, получите access_token, следуя рекомендациям Oauth2.0, и сохраните id_token и фан-страницу где-то в вашей базе данных. https://github.com/simplegeo/python-oauth2 - хороший пример того, как получить токен oauth. Затем, когда вы пытаетесь опубликовать сообщение, используйте токен доступа, используя что-то вроде этого.

post_data = {'access_token':access_token, 'message':'hey this is a test!'}
request_path = str(facebook_id)+'/feed'
post_data = urllib.urlencode(post_data)
response = urllib2.urlopen('https://graph.facebook.com/%s' % request_path, post_data)

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

...