发布到Feed时出错:“用户未授权应用程序执行此操作”

时间:2013-02-04 10:07:43

标签: ruby-on-rails ruby ruby-on-rails-3 facebook-graph-api fb-graph

我在网上从网址发布Feed时收到错误:

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

我正在使用

https://graph.facebook.com/me/feed?name=hello&message=hello_from_url&access_token=access_token

作为我的网址。我正在创建一个rails应用程序,我需要范围参数,以便我可以从rails应用程序发布我的时间线,但我无法找到确切的解决方案。

1 个答案:

答案 0 :(得分:3)

首先,在此发布网址中添加scope参数是无用的,首次使用应用时会设置权限,具体取决于身份验证对话框中scope中定义的权限。

您的应用需要publish_actions权限才能发布Feed。如果您将此权限添加到配置中,则必须再次对您的应用进行身份验证才能接受新权限。

使用Graph API Explorer检查一切是否正常。从右上角的下拉列表中选择您的应用程序,将方法更改为 POST 并粘贴me/feed?name=hello&message=hello_from_url。然后运行它并检查是否有此异常。单击获取访问令牌以检查您为应用授予的权限。

顺便说一下,如果您不使用,可以使用fb_graph发布Feed:

me = FbGraph::User.me(access_token)
 me.feed!(
    :message => '',
    :link => '',
    :name => '',
    :description => ''
  )