График объекта Facebook запрос https от ruby - PullRequest
2 голосов
/ 10 октября 2011

Как бы вы сделали запрос к графу объектов Facebook, чтобы получить друзей пользователя?

Если вы введете URL-адрес, он будет работать в браузере (заменен действительным идентификатором пользователя и токеном доступа): "https://graph.facebook.com/user_id/friends?access_token=2227470867|2.AQDi3TbqnqrsPa0_.360"

Когда я пробую его из кода ruby, используя Net :: HTTP.get_response (URI.parse ('url')) Я получаю сообщение об ошибке URI :: InvalidURIError.

Ответы [ 2 ]

1 голос
/ 10 октября 2011

Ваш токен доступа содержит несколько символов, которые недопустимы для 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
0 голосов
/ 10 октября 2011

Может быть, что-то делать с OAuth? Я бы посоветовал вам использовать библиотеку типа Koala вместо того, чтобы развертывать специальные решения adhoc.

...