【发布时间】:2014-09-15 03:15:36
【问题描述】:
我编写了一个 python 脚本,该脚本在我的服务器上的一个 cron 作业上运行,该脚本使用我自己的 facebook 应用程序为我发布到我的 facebook 帐户。不幸的是,每隔几个月,我就会得到:
Response: {u'error': {u'message': u'Error validating access token: Session has expired...', u'code': 190, u'type': u'OAuthException', u'error_subcode': 463}}
每次发生这种情况,我都必须登录 facebook,获取新代码 -> 访问令牌。
我想完全自动化此操作,以便无需登录 facebook 即可获得新的访问令牌。最好的方法是什么?
我更喜欢一种方法来做到这一点,而无需将我的密码存储在我的服务器上或通过 curl 访问 facebook(这将是一种黑客行为),但是——最糟糕的是——我想我可以用curl 获取代码 -> 访问令牌。
请不要告诉我使用offline_access(正如我的大多数搜索所显示的那样)。这已被弃用。
TIA!
编辑:这是我目前重新验证的方式(这需要我登录 facebook):
- 在浏览器中登录 facebook
- 在浏览器中访问:https://www.facebook.com/dialog/oauth?client_id=XXX&redirect_uri=https://www.facebook.com/connect/login_success.html&scope=publish_actions
- 提取从 facebook 返回的 $code
- 卷曲“https://graph.facebook.com/oauth/access_token?client_id=XXX&redirect_uri=https://www.facebook.com/connect/login_success.html&client_secret=YYY&code=$code”
- 存储从 facebook 返回的更新的 access_token
【问题讨论】:
标签: facebook curl oauth access-token facebook-access-token