curl R http GET不喜欢时间格式

oprakyz7  于 2023-01-05  发布在  其他
关注(0)|答案(1)|浏览(119)

我想从一个使用api的网站下载数据。它看起来像下面,但与xxxs,yyys和zZZ取代api代码。

https://api.ecowitt.net/api/v3/device/history?application_key=XXXX&api_key=-YYY&mac=ZZZ&start_date=2022-06-01 00:00:00&end_date=2022-09-27 00:00:00&cycle_type=30min&call_back=outdoor,indoor.humidity

当我把这个url放到网页浏览器中时,我得到了一个充满数据的页面,所以服务器看起来很满意。当我把它命名为url_complete并运行
response <- httr::GET(url_complete)我收到此错误消息
curl::curl_fetch_memory中的错误(url,句柄=句柄):URL使用错误/非法格式或缺少URL
随着开始和结束日期和时间从上述网址删除,响应状态是200。
响应〈-httpr::GET(测试网址)
内容(响应,"文本")[1]"{"代码":40000,"消息":"需要开始日期","时间":"1664309668","数据":[]}"

brc7rcf0

brc7rcf01#

解决方案是从url中提取日期字符串,然后使用查询添加它们,如下所示

response <- httr::GET(url_complete_noDates, add_headers(accept = 'application/json'), query = list(start_date = "2022-06-01 00:00:00", end_date = "2022-09-27 00:00:00"))

这样做的目的是添加一些代码来替换日期/时间字符串中的特殊字符-空格和冒号。

start_date=2022-06-01%2000%3A00%3A00&end_date=2022-09-27%2000%3A00%3A00

相关问题