【发布时间】:2014-04-30 21:48:03
【问题描述】:
我不确定如何使用 facebook 处理我的 api 调用的下一部分。目前我正在使用用户 ID 检索所有帖子
"https://graph.facebook.com/#{VANDALS_ID}/posts/?access_token=#{FB_ACCESS_TOKEN}"
但我也想通过使用从第一个 api 调用返回的 object_id 来获取与每个帖子关联的图片
"https://graph.facebook.com/#{object_id}/picture
所以目前我有一个类来处理第一个 api 调用,然后将返回的数据保存到我的模型中
class FacebookFeed
#Constants
VANDALS_ID = ENV['VANDALS_FB_ID']
FB_ACCESS_TOKEN = ENV['FACEBOOK_ACCESS_TOKEN']
FACEBOOK_URL = "https://graph.facebook.com/#{VANDALS_ID}/posts/?access_token=#{FB_ACCESS_TOKEN}"
def get_feed
uri = URI(FACEBOOK_URL)
response = HTTParty.get(uri)
results = JSON.parse(response.body)
puts formatted_data(results)
end
def formatted_data(results)
return unless results
results['data'].map { |m|
attrs = { message: m['message'],
picture: m['picture'],
link: m['link'],
object_id: m['object_id']
}.compact
Post.where(attrs).first_or_create! do |post|
post.attributes = attrs
end
}
end
def get_large_photo(object_id)
#added this to handle the second api request and pass through the object_id
end
所以我从第一个 api 调用中想要的所有信息都在一个名为 attrs 的哈希中,然后我可以通过 attrs['object_id'] 访问 object_id 吗?那是正确的是吗? .
我坚持如何从哈希中获取每个 object_id 并在单独的调用中获取与其关联的图片,然后保存分配给键的值 :picture 并将其放回我的 attrs 哈希中,以便我可以将所有内容保存在我的帖子模型中
我希望这是有道理的
任何帮助表示赞赏
【问题讨论】:
标签: ruby-on-rails ruby facebook-graph-api hash