您好
,我正在尝试获取 Facebook 用户的专辑封面图片。
正如 API 页面中所说,它在获取时返回“带有专辑封面图片 URL 的 HTTP 302”:
http s://graph.facebook.com/[album_id]}/picture?access_token=blahblahblah...
这里的文件:http: //developers.facebook.com/docs/reference/api/album
我已经尝试过 HTTParty、Net:HTTP 以及 RedirectFollower 类
HTTParty 返回图片图像本身,并且在任何地方都没有“位置”(URL)信息
NET:HTTP 和 RedirectFollower 有点棘手......
如果我不使用 URI .encode 将 URL 传递给 get 方法时,会导致“bad uri”错误
,但如果我使用 URI.encode 传递编码的 URI,则会导致 EOFError(到达文件末尾)
令人惊奇的是我可以看到位置 URL使用 apigee 的 FB API 时
这是 Net:HTTP 文档中推荐的重定向方法:
有什么需要修改的吗?或者有没有更简单的方法来做到这一点?谢谢你!!
def self.fetch(uri_str, limit = 10)
response = Net::HTTP.get_response(URI.parse(uri_str))
case response
when Net::HTTPSuccess then response
when Net::HTTPRedirection then fetch(response['location'], limit - 1)
else
response.error!
end
end