我每天都想运行一个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,我得到了有效的回复。
这太令人困惑了。为什么它没有出现在页面上?
答案 0 :(得分:1)
我遇到了同样的问题。到目前为止,我只为OAuth找到了这种方法,以获得发布权限:
@ oauth.url_for_oauth_code(:permissions =>“publish_stream”)
但我一直有错误,我无法将此方法应用于字符串。我认为它失败了,它不会返回oAuth结构,而是返回一个字符串。