我想制作一个脚本,让我发布到我的脸书粉丝页面(我是管理员)
据我所见,大多数图形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,因为它只是一个脚本。
关于我应该在哪里寻找一些信息的任何想法?
答案 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粉丝页面应该是非常相似的。