使用python自动发布到Facebook页面

时间:2011-02-23 20:19:59

标签: python django facebook facebook-page

我想制作一个脚本,让我发布到我的脸书粉丝页面(我是管理员)

据我所见,大多数图形api示例都是关于在python中创建facebook应用程序并使它们与python进行通信,这与我想要的完全不同。

此外,图形api需要oauth令牌,文档声称它是通过以下方式获得的:

https://www.facebook.com/dialog/oauth?      CLIENT_ID = YOUR_APP_ID&安培; REDIRECT_URI = YOUR_URL

我认为这意味着:

a)我必须为此创建一个Facebook应用程序,我认为这不是必要的(毕竟它只需要我的标准凭据,不会被其他人使用),但它是精细。我有一个为此任务创建的应用程序。

b)我需要一个我没有的URL,因为它只是一个脚本。

关于我应该在哪里寻找一些信息的任何想法?

1 个答案:

答案 0 :(得分:6)

首先,您需要从facebook上获取Facebook_App_Id和Facebook_App_Secret,这将是您在注册应用时获得的。

然后您添加所需的网址。

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 app id和facebook app secret。

您基本上可以按照Oauth2.0指南获取access_token,并将access_token和fan页面存储在数据库中。 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粉丝页面应该是非常相似的。