【问题标题】:Zomato API calls with R httr package not returning records when adding string query添加字符串查询时使用 R httr 包调用 Zomato API 不返回记录
【发布时间】:2017-08-15 21:48:57
【问题描述】:

我正在使用带有 R 的 httr 包的 Zomato API 来获取 JSON 格式的餐厅数据。当我使用以下代码块调用 Zomato API 时,我得到了一些记录,并且 GET() 调用似乎工作正常。

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)

【问题讨论】:

  • URL 在第一和 URLs 在第二,但我怀疑这是你的问题。
  • 我希望 :) 已编辑。
  • 使用 httr::verbose() 查看详细的 curl 输出,了解发送和接收的内容,可能有助于定位问题
  • 并尝试删除尾随?在网址中

标签: r rest httr zomato-api


【解决方案1】:

在重新加载 R 环境并从头开始运行脚本后,它似乎工作正常 - 第二个块中的 Get() 调用检索了它应该检索的 2 条记录。我怀疑我在环境中设置的某些东西搞砸了——也许 epi99 是对的,但只是另一个错字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多