【问题标题】:Automatically posting to facebook page with python使用python自动发布到facebook页面
【发布时间】:2011-07-03 01:37:33
【问题描述】:

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

据我所见,大多数图形 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,因为它只是一个脚本。

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

【问题讨论】:

    标签: python django facebook facebook-page


    【解决方案1】:

    首先,您需要从注册应用程序时获得的 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 应用程序 ID 和 facebook 应用程序密码。

    您基本上会按照 Oauth2.0 指南获取 access_token,并将 access_token 和粉丝页面 id 存储在数据库中的某个位置。 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 粉丝页面上发帖应该非常相似。

    【讨论】:

    • 嗨@Milind 我将使用上述解决方案,但它给了我错误HTTPError: HTTP Error 400: Bad Request 我在urllib2.urlopen('https://graph.facebook.com/%s' % request_path, post_data) 中的网址是'https://graph.facebook.com/%s' % request_path, post_data ('https://graph.facebook.com/158369407882136/feed', 'access_token=CAAUzqWzxtIEBADtqbPu3ZAM6h6naEZCRh6eGJmfNWjolc9A7hPgdhrtS406uZA1l9i2HrPhDFfMkkrKwd9IlnZAGftpltFX1bZCpuKZCIfQPUjoOZCU4uiuxPFZBnvVRPzFJh8e52IMhasWlnC9u7EdaSVI7rXDKBCvYVEDFU0PftrIuJP0VzlEvUBaEZC4uBkvxykseXQG3PW7ythroFUwwU&message=hey+this+is+a+test%21'
    • 是的,它也给了我HTTP Error 403: Forbidden!
    猜你喜欢
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 2012-04-08
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多