【问题标题】:Using Koala to post to a user's Page's wall from an app使用 Koala 从应用程序发布到用户主页的墙上
【发布时间】:2014-10-23 02:27:10
【问题描述】:

我已经是一个 Facebook 应用程序,用户已经在使用它。我已经有了通过考拉在他们的墙上发帖的功能。

@oauth = Koala::Facebook::OAuth.new options[:fb_application_id], options[:fb_secret_key]
@graph = Koala::Facebook::API.new @oauth.get_app_access_token
@graph.put_connections(fb_user_id, "feed", :message => 'sample message')

现在我想添加一个功能,我可以在其中获取用户的页面 ID 并允许我的应用发布到该页面。

如下所示:

@oauth = Koala::Facebook::OAuth.new options[:fb_application_id], options[:fb_secret_key]
@graph = Koala::Facebook::API.new @oauth.get_app_access_token
@graph.put_connections 'the_page_id', 'feed', :message => 'this is a message to post'

上面一行的结果是:

Koala::Facebook::ClientError: type: OAuthException, code: 200, message: (#200) The user hasn't authorized the application to perform this action [HTTP 403]

我已经在应用端以及用户授权应用时设置了权限“manage_pages publish_actions publish_stream”。

请帮忙。

谢谢!

【问题讨论】:

  • 我收到了同样的情况和同样的错误。你解决了这个问题吗?
  • 设法通过将范围更新为manage_pages publish_pages publish_actions来解决此问题

标签: ruby-on-rails facebook permissions koala


【解决方案1】:

您必须将 publish_stream 和 publish_actions 权限添加到您的应用权限范围。

【讨论】:

  • 对不起,我忘了提到我也已经这样做了。 :) 谢谢!更新了我的帖子。
【解决方案2】:

以下可能会有所帮助,

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, ENV['KEY'], ENV['SECRET'], scope: 'manage_pages publish_pages publish_actions'
end
  • manage_pages 让您访问用户管理的页面
  • publish_pages 让您有权以页面的形式发帖
  • publish_actions 授予您以用户身份发帖的特权

PS:publish_stream 已被弃用。

【讨论】:

  • @koyz 不客气! :-) 如果这有帮助,请将答案标记为正确的;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多