【问题标题】:Posting to my Facebook page from my web app in production从生产中的 Web 应用程序发布到我的 Facebook 页面
【发布时间】:2013-09-13 22:00:02
【问题描述】:

我安装了 Django Facebook 并使用此方法发布到页面:

from open_facebook.api import OpenFacebook
graph = OpenFacebook("my_access_token")
graph.set('me/feed', message='hello world')

当我登录到我的 Facebook 帐户时,它正在我的本地开发机器上运行。一旦我退出并收到以下消息,它就会停止工作:

OAuthException:验证访问令牌时出错:会话无效,因为用户已注销。 (错误代码 190)

我通过传递 /me/accounts 从 Graph API Explorer 获得了我的访问令牌

那么问题是,当我当然不会登录时,如何让我的代码在生产环境中工作?

请注意,我只会在我拥有的主页上发帖。

【问题讨论】:

    标签: python django facebook facebook-graph-api django-facebook


    【解决方案1】:

    如果你想离线使用'me/feed'

    您可以使用APP访问令牌,一旦您已经授权应用并致电USER_ID/feed发布。

    注意:使用user_id 而不是me- me 仅在用户处于会话中时使用,但您想在注销后执行该操作。


    要获取应用访问令牌,

    GET /oauth/access_token?
      client_id={app-id}
      &client_secret={app-secret}
      &grant_type=client_credentials
    

    【讨论】:

    • “一旦您授权应用并调用 USER_ID/feed 进行发布”是什么意思,我该怎么做?
    • 你的意思是我应该去'Graph API Explorer'并生成一些东西吗?我完全迷路了。请澄清。
    • 在问题中,您说您可以在墙上发帖,即使用户离线,您也只想发帖,对吗?如果是这样,这意味着您已授权您的应用代表您发布。现在,您可以使用 APP_ACCESS_TOKEN 而不是 USER_ACCESS_TOKEN 与您现在正在执行的相同 api 调用。要获取 APP_ACCESS_TOKEN,请使用上述代码或 (app_id|app_secret) 或直接从此处 (developers.facebook.com/tools/access_token)。希望你现在得到了东西。
    猜你喜欢
    • 1970-01-01
    • 2019-12-26
    • 2011-07-10
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多