ruby-on-rails - 如何从 Facebook API Koala Gem 获取用户帖子 Insights

标签 ruby-on-rails facebook facebook-graph-api facebook-insights koala-gem

您好,我想知道如何从 Facebook API Koala Gem 获取用户帖子见解。

我只找到了适用于 Facebook 页面帖子但不适用于用户帖子的解决方案。

我将下面的代码用于用户帖子,但它只返回空数组。

@graph.get_connections('me', 'insights', metric: 'page_impressions', period: 'now')

更新

user = Authentication.where(user_id: current_user.id, provider: "facebook").first
oauth_access_token = user.token
@graph = Koala::Facebook::API.new(oauth_access_token)
@posts = @graph.get_connection('me', 'posts',{ fields: ['id', 'message', 'link', 'name', 'description', "likes.summary(true)", "shares", "comments.summary(true)"]})

上面的代码工作正常,但是当我尝试获取帖子见解时,它返回空数组。

最佳答案

如果您使用 omniauth-facebook gem,您只需确保您在您的范围内拥有正确的权限,并且您可以使用原始查询。

config/initializers/omniauth.rb

OmniAuth.config.logger = Rails.logger

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, {id}, {secret},
  :scope => 'email,manage_pages,read_stream,read_insights'
end

此外,您还可以通过 koala 获取页面的帖子见解。这对我有用。

m = Koala::Facebook::API.new(User.find(5).oauth_token)
m = m.get_connections('me', 'accounts')
m = m.first['access_token']
@post_graph = Koala::Facebook::API.new(m)
@feed = @post_graph.get_connection('me', 'feed')
@postid = @feed.first['id']
@post_data = @post_graph.get_connections(@postid, 'likes', since: "2015-05-17", until: "2015-07-17")

https://github.com/arsduo/koala/wiki/Acting-as-a-Page

关于ruby-on-rails - 如何从 Facebook API Koala Gem 获取用户帖子 Insights,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29813725/

相关文章:

ruby-on-rails - DatingApp编程: ActiveRecord association for finding Users where there are no Approvals or one 1 way approvals

facebook - 如何在 Facebook Graph API v2.1 中通过用户名获取用户 ID

ios - 用 Facebook 相册填充 UITableView |操作系统

ruby-on-rails - Ruby on Rails 类型错误

jquery - Columndefs 不工作数据表

android - 我如何在不检查的情况下从带有 API 墙的 android 应用程序在 facebook 上发帖?

asp.net - Facebook Connect 和 ASP.NET

ios - Facebook 获取用户状态

ruby-on-rails - 如何在 Ruby on Rails 中找出用户上传的成人图片?

PHP - 使用有效的访问 token 通过 Graph API 在 Facebook 上发布视频