2017-08-15 50 views
0

我正在使用Zomato API和R的httr包以JSON格式获取餐馆数据。当我使用下面的代码块调用Zomato API时,我收回了一些记录,并且GET()调用似乎正常工作。Zomato API调用R httr包添加字符串查询时不返回记录

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) 

在下一个代码块中,我对代码进行了一次修改,以便进行文本搜索。此API调用返回0个记录,但它应该返回2 - 我知道这是因为Zomato在https://developers.zomato.com/documentation上有一个API测试工具,它允许您(除其他外)输入您的API密钥和一些属性值以生成API调用,并参阅记录返回。
我不明白为什么下面的GET()返回0条记录。建议?

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”和第二个“URL”,但我怀疑这是你的问题。 – epi99

+0

我希望:)编辑。 –

+1

使用'httr :: verbose()'查看发送和接收内容的详细卷曲输出,可能有助于找到问题 – sckott

回答

0

重装R环境和运行从头开始脚本后,它似乎很好地工作 - 在第二块的Get()调用检索2分的记录,它应该。我怀疑我在环境中设置了一些让它变得糟糕的东西 - 也许epi99是对的,但是关于另一个错字。