2017-08-15 1 views
0

J'utilise l'API Zomato avec le package httr de R pour obtenir des données de restaurant dans JSON. Lorsque j'appelle l'API Zomato en utilisant le bloc de code suivant, je récupère des enregistrements et l'appel GET() semble fonctionner correctement.Appels d'API Zomato avec le paquet R httr ne renvoyant pas les enregistrements lors de l'ajout de la requête de chaîne

require(httr) 

URL <- 'https://developers.zomato.com/api/v2.1/search?' 

request <- GET(URL, 
      add_headers(User_key="#######_MY_API_KEY##############"), 
      query=list(entity_id = '94753', 
         entity_type = 'zone')) 
content(request) 

Dans le bloc de code suivant, je fais une modification au code afin de faire une recherche de texte. Cet appel API retourne 0 enregistrements, mais il devrait retourner 2 - Je sais cela parce que Zomato a un outil de test API à https://developers.zomato.com/documentation, qui vous permet (entre autres) d'entrer votre clé API et certaines valeurs d'attribut pour générer des appels API, et voir les enregistrements retournés.
Je ne comprends pas pourquoi le GET() suivant retourne 0 enregistrements. Suggestions?

request <- GET(URL, 
      add_headers(User_key="#######_MY_API_KEY##############"), 
      query=list(entity_id = '94753', 
         entity_type = 'zone', 
         q = 'border')) #added parameter and value 
content(request) 
+0

'URL' en premier et' URLs' en second, mais je doute que ce soit votre problème. – epi99

+0

Je souhaite :) Édité. –

+1

utiliser 'httr :: verbose()' pour voir la sortie verbueuse verbale pour ce qui est envoyé et reçu, peut aider à localiser le problème – sckott

Répondre

0

Après avoir rechargé l'environnement de R et d'exécuter le script à partir de zéro, il semble fonctionner correctement - l'appel Get() dans le deuxième bloc récupère les 2 dossiers qu'il aurait dû prendre. Je soupçonne qu'il y avait quelque chose que j'avais mis dans l'environnement qui le gâchait - peut-être qu'epi99 avait raison, mais à peu près une autre faute de frappe.