2

您将如何向 Facebook 对象图发出请求以获取用户的朋友?

如果您输入网址,它将在浏览器中运行(替换为有效的 user_id 和访问令牌):“https://graph.facebook.com/user_id/friends?access_token=2227470867|2.AQDi3TbqnqrsPa0_.360”

当我使用 Net::HTTP.get_response(URI.parse('url')) 从 ruby​​ 代码中尝试它时,我收到 URI::InvalidURIError 错误消息。

4

2 回答 2

1

您的访问令牌包含一些对 URL 无效的字符。你必须给CGI.escape他们。

require 'cgi'

access_token = '2227470867|2.AQDi3TbqnqrsPa0_.360'
url = "https://graph.facebook.com/user_id/friends?access_token=#{CGI.escape(access_token)}"
uri = URI.parse(url)

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.path + "?" + uri.query)
response = http.request(request)
data = response.body
于 2011-10-10T19:56:33.233 回答
0

也许与OAuth有关?我建议您使用像Koala这样的库,而不是展开自定义的临时解决方案。

于 2011-10-10T19:54:56.523 回答