Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails发布到facebook页面_Ruby On Rails_Facebook_Koala - Fatal编程技术网

Ruby on rails Rails发布到facebook页面

Ruby on rails Rails发布到facebook页面,ruby-on-rails,facebook,koala,Ruby On Rails,Facebook,Koala,我有一个rails应用程序,我希望能够发布到fb页面。我知道考拉是促进这一功能的宝石 我创建了一个facebook应用程序,并拥有一个应用程序id和应用程序机密 我的facebook应用程序可以发布到页面上,还是需要页面管理员来完成 应用程序访问令牌 Facebook应用程序也可以获得自己的访问令牌,这可以 用于管理实时更新和执行某些其他操作 无会期活动。要获取应用的访问令牌,只需运行: 编辑1 发件人:我知道我需要获得一个访问令牌和一个页面令牌: @user_graph = Koala::F

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

我创建了一个facebook应用程序,并拥有一个应用程序id和应用程序机密

我的facebook应用程序可以发布到页面上,还是需要页面管理员来完成

应用程序访问令牌

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

编辑1 发件人:我知道我需要获得一个访问令牌和一个页面令牌:

@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应用程序应该如何获得用户访问令牌。由于我希望我的rails应用程序“作为一个页面”执行所有发布,因此我认为此用户访问令牌应该在rails应用程序中设置为常量一次,而不是每次rails应用程序需要发布时都请求

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

大多数应用程序将只使用一种应用程序配置。相当地 而不是每次都必须提供该值,您可以配置考拉 要使用全局设置,请执行以下操作:

由于我有app_id和app_secret,我仍然不确定如何获得上述所需的access_令牌和app_access_令牌

是的,我迷路了

编辑2
由于用户访问令牌到期,我不知道如何将其硬编码到考拉.rb?

不,您不能使用应用访问令牌作为页面发布,这需要页面访问令牌。好的,我希望Rails应用程序能够完成所有发布,我需要一个访问令牌。然而,由于这一到期日,我想我无法在初始值设定项中设置它。扩展页面访问令牌没有默认到期日…谢谢Cbroe,但是我在这里迷路了。我从哪里获得此访问令牌?一旦获得,我想我会在这里使用它,另外,你刚刚链接到的页面已经解释了如何在考拉获得一个……不,你不能使用应用访问令牌作为页面发布,这需要页面访问令牌。好的,我想Rails应用会完成所有发布,我需要一个访问令牌。然而,由于这一到期日,我想我无法在初始值设定项中设置它。扩展页面访问令牌没有默认到期日…谢谢Cbroe,但是我在这里迷路了。我从哪里获得此访问令牌?一旦获得,我想我会在这里使用它,另外,你刚刚链接到的页面解释了如何在考拉获得一个。。。
@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)
# 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