我想使用 ruby 脚本和 Koala gem 每天发布一次 Facebook 帖子。我希望能够设置一次,而不必不断更改对ekns 的访问。在阅读了一些关于访问令牌的帖子和Facebook 文档后,我实现了以下内容:
- 创建了一个 Facebook 应用程序
- 使用 Graph API Explorer 为自己获取访问令牌 - 这只持续大约 2 小时
- 使用以下脚本将短期令牌交换为持续 2 个月的长期令牌
https://graph.facebook.com/oauth/access_token? client_id=APP_ID& client_secret=APP_SECRET& grant_type=fb_exchange_token& fb_exchange_token=EXISTING_ACCESS_TOKEN
- 写了以下 rake 任务发布到我的 Facebook 墙上
令牌 = "CAAFlZAPhVBO8..." @graph = Koala::Facebook::API.new(token) @graph.put_connections("me", "feed", :message => "我的消息!")
- 使用heroku 调度器调度一个 rake 命令
通过所有这些设置,我的脚本实际上可以工作!它每天都会根据调度程序写到我的墙上。
我的问题是:通过此设置,我将不得不手动使用图形 API 资源管理器创建一个新的短期访问令牌,然后每两个月使用它来获取长期访问令牌。此外,我将不得不进入并手动更改 y 脚本中的 token = "blah blah" 语句。这完全可以避免吗?我已授予我创建的应用程序发布到我的墙上的权限。有没有办法使用考拉(或其他宝石/库)在脚本中自动获取新的访问令牌?