我正在尝试使用R脚本中提供的Rest API服务POST方法从数据库中的报告中提取数据,如下所示 .
#Loading Libraries
library(RJSONIO)
library(RCurl)
library(httr)
library(jsonlite)
r <- POST(url,
body = '{
"id":104106,
"lookupName": "Task Report",
"filters": [
{
"name":"Created Time",
"values": ["2018-05-06T00:00:00+0530","2018-05-06T23:59:59+0530"]
}
]}' ,
add_headers("ApplicationName : APP_1")
)
stop_for_status(r)
a<-content(r, "text", "application/json", encoding="UTF-8")
df = fromJSON(a, flatten = TRUE)
df$links = NULL
df$count = NULL
df$name = NULL
df$columnNames = NULL
main_df = as.data.frame(df)
此脚本可以从创建时间介于“2018-05-06 00:00:00”和“2018-05-06 23:59:59”之间的URL中的“任务报告”(数据库中的报告名称)中提取数据 . 该脚本的问题是给定数据范围的数据包含超过30k行,而Rest API具有一次性提取数据不超过10k的限制 .
希望脚本能够获取给定范围的所有数据,需要有关如何在JSON主体中使用循环来获得相同内容的帮助 .