1

每天我都想运行一个 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并得到有效响应。

这非常令人困惑。为什么没有出现在页面上??

4

1 回答 1

1

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

@oauth.url_for_oauth_code(:permissions => "publish_stream")

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

于 2012-05-02T13:27:52.840 回答