使用考拉获取Facebook群组的饲料

时间:2017-12-20 20:35:40

标签: ruby-on-rails facebook facebook-graph-api rubygems koala

我正在尝试使用facbeook API。我正在使用Koala,OmniAuth-Facebook和Devise。我想从facebook组获取提要。我可以获得facebook帐户的帖子,但我只是从Facebook群组的Feed中获取[]。

#posts_controller.rb

class PostsController < ApplicationController
  require 'koala'  
def home

  end

 def index
   @graph = Koala::Facebook::API.new('EAAEsRUgaygUBAGrJm9af4NAroK2zafwoVjtl9czVVqvfEDlLq2VV8LQChtBDHmrqQTS3119cSz8u1rEv4LrF5wXKIHC4CJGgUY8yiCQumYzLaDRTELTaj7vzQV9tZAuFDy5GQVYRnspIv17sGIFZA2uVkIZB2I5vLFaI0OFQQkdidT9lho75IfhkRk7xM6pLKB8KkwXTBsZBs4rbi8YXfkebI2yNVyHHRFH5p6u8NgZDZD')

 end

end`

#index.html.erb

<%= @graph.get_connection('me', 'posts', {
limit: 5,
fields: ['message', 'id']}) %>

<%= @graph.get_connection('14117761406', 'feed', {
limit: 5,
fields: ['message', 'id']}) %>

第一个块打印出来:[{&#34; message&#34; =&gt;&#34; test 1&#34;,&#34; id&#34; =&gt;&#34; 106211743505945_106214170172369&#34 ;}]

但第二个块只打印[]。

2 个答案:

答案 0 :(得分:0)

你应该在控制台(rails c)做一些R&amp; D然后编写你的代码。它将帮助您了解对象发生的事情,检查它们......

同时查看pry gem

答案 1 :(得分:0)

想出来。
我使用的是get_connection而不是get_object,所以它试图获取我在该组中发布的内容列表(没有)。

<%= @graph.get_object('14117761406?fields=feed.limit(10)') %>

此代码有效。

其次,使用测试用户时,群组中的Feed不会显示。因此,即使我之前测试过get_object,它也没有与测试用户合作。我切换到我的个人资料,现在正在运作。