2010-11-02 1 views
2

J'essaie d'obtenir les données à l'adresse suivante:Essayer de faire une simple requête HTTP GET sur l'API Facebook avec rest_client mais il est de ne pas accepter l'URL, même si l'URL fonctionne bien

https://graph.facebook.com/me?access_token=(my access token) 

Lorsque Je vais à cette adresse dans un navigateur, ça marche. Mais je suis en train d'utiliser la pierre précieuse rest-client dans Ruby on Rails comme ceci:

url = 'https://graph.facebook.com/me/home?access_token=' + access_token 
result = RestClient.get url 
p result 

mais je reçois ce message d'erreur:

URI::InvalidURIError in AuthenticationsController#index 
bad URI(is not URI?): https://graph.facebook.com/me/home?access_token=(my access token) 

ce que je fais mal ici? Cela pourrait-il avoir quelque chose à voir avec le format de access_token? Je l'ai laissé dans le code ci-dessus, mais c'est le format dans lequel il est:

1xxx 

Merci d'avoir lu.

Répondre

1

Essayez d'échapper à la access_token:

url = 'https://graph.facebook.com/me/home?access_token=' + URI.escape(access_token) 
0
r = RestClient.get 'https://graph.facebook.com/me/feed', :params => {:access_token => access_token } 

Vous devriez faire quelque chose comme ça

+0

Pouvez-vous expliquer pourquoi vous pensez que cela fonctionnera lorsque le code de l'OP ne fonctionne pas? – dpassage

+0

vrai, pas de différence. Juste montrant une syntaxe différente. – dalf

+0

Désolé, par 'OP' je voulais dire la question originale. Les réponses sont plus utiles si vous expliquez la pensée derrière eux. – dpassage

Questions connexes