Rails发布到Facebook页面

时间:2017-10-17 01:57:36

标签: ruby-on-rails facebook koala

我有一个rails应用程序,我希望能够发布到fb页面。我知道Koala是促进此功能的宝石。

我创建了一个Facebook应用程序,并有一个app_id& app_secret。

我的Facebook应用程序可以发布到页面还是需要由页面管理员完成?

应用程序访问令牌

  

Facebook应用程序也可以获得自己的访问令牌,这可以   用于管理实时更新和执行某些其他更新   无会话活动。要获取应用的访问令牌,只需运行:

@oauth = Koala::Facebook::OAuth.new(app_id, app_secret)
@oauth.get_app_access_token 

https://github.com/arsduo/koala/wiki/OAuth

修改1 来自:https://github.com/arsduo/koala/wiki/Acting-as-a-Pagehttps://developers.facebook.com/docs/facebook-login/access-tokens/我知道我需要获取访问令牌,然后获取页面令牌:

@user_graph = Koala::Facebook::API.new(user_access_token)
pages = @user_graph.get_connections('me', 'accounts')
page_token = @user_graph.get_page_access_token(page_id)
@page_graph = Koala::Facebook::API.new(page_token)
@page_graph.get_object('me') # I'm a page
@page_graph.get_connection('me', 'feed') # the page's wall
@page_graph.put_wall_post('post on page wall') # post as page, requires new publish_pages permission
@page_graph.put_connections(page_id, 'feed', :message => message, :picture => picture_url, :link => link_url)

以上所有内容都是不言自明的,但我仍然坚持一个基本原则,即我的rails应用程序应该如何获取user_access_token。由于我希望所有帖子都由我的rails应用程序“作为一个页面”执行,我想成像这个user_access_token应该在rails应用程序中设置为常量,并且每次rails应用程序需要发布时都不会请求。

考拉主页说明这是可能的: 配置

  

大多数应用程序仅使用一个应用程序配置。宁   每次都必须提供该值,您可以配置考拉   使用全局设置:

# In Rails, you could put this in config/initializers/koala.rb
Koala.configure do |config|
  config.access_token = MY_TOKEN
  config.app_access_token = MY_APP_ACCESS_TOKEN
  config.app_id = MY_APP_ID
  config.app_secret = MY_APP_SECRET
  # See Koala::Configuration for more options, including details on how to send requests through
  # your own proxy servers.
end

https://github.com/arsduo/koala

由于我有app_id和app_secret,我仍然不确定如何获得上面所要求的access_token和app_access_token。

是的,我迷路了。

编辑2 当user_access_token过期时,我很困惑如何将其硬编码到koala.rb中?

0 个答案:

没有答案