使用应用程序令牌将页面发布到应用程序页面?考拉

时间:2012-05-02 06:04:53

标签: ruby-on-rails facebook facebook-graph-api koala

我每天都想运行一个rake任务,将更新发布到应用程序的Facebook页面。该页面在Facebook>下定义。应用>设置>高级(在底部)。

我想获取一个应用访问令牌,然后将该页面发布到该页面。这是我的想法,但它不起作用:

@oauth = Koala::Facebook::OAuth.new(CONFIG['appid'], CONFIG['appsecret'])
@token = @oauth.get_app_access_token
@page_graph = Koala::Facebook::API.new(@token)
@page_graph.put_connections('NAME_OF_PAGE','feed', :message => 'This is posted as the page')

我得到的错误:

OAuthException: (#200) The user hasn't authorized the application to perform this action

我不知道是否有地方(我尝试在@ oauth.get_app_access_token中作为选项传递):

@ oauth.get_app_access_token(:permissions =>“manage_pages”)

仍然没有。有什么想法吗?


[更新]

所以我改为:

@oauth = Koala::Facebook::OAuth.new(CONFIG['appid'], CONFIG['appsecret'])
@token = @oauth.get_app_access_token
@page_graph = Koala::Facebook::API.new(@token)
@postid = @page_graph.put_connections(CONFIG['appid'],'feed', :message => 'This is posted as the page')

然后当我输出@postid时,我得到一个有效的ID。我将此ID放入:https://graph.facebook.com/POSTID,我得到了有效的回复。

这太令人困惑了。为什么它没有出现在页面上?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。到目前为止,我只为OAuth找到了这种方法,以获得发布权限:

@ oauth.url_for_oauth_code(:permissions =>“publish_stream”)

但我一直有错误,我无法将此方法应用于字符串。我认为它失败了,它不会返回oAuth结构,而是返回一个字符串。