FAQ > 金融建模 > 第三方交互 > TS-OPI

Q:R语言&OPI方式调用示例:调用天软函数    

  • A:本文中主要展示开发者用户在R语言中通过OPI接口调用天软函数的具体实现,即使用URI:/Service/Call/funcName
    下面示例中,主要展示调用天软范例函数(公用函数):GetTimeSeriesSample(BegT,EndT,StockId,cycle)
    功能:获取指定个股在时间区间内每日价格,及30日均价

    R中依赖httr,jsonlite包,可在在进入R环境后输入install.packages('httr')、install.packages("jsonlite")安装相关包。
    范例代码:
    library(httr)
    library(jsonlite)
    # Call-有参数函数
    url <- "https://opi.tinysoft.com.cn/Service/Call/GetTimeSeriesSample" # 平台用户调用函数
    headers <- c(
    "Connection" = "keep-alive",
    "Content-Type" = "application/json",
    "TS-EVENTNAME" = "auto",
    "JSON-Encode" = "gbk"
    )
    begt<- as.numeric(as.Date("2025-05-10")- as.Date("1899-12-30"))
    endt<- as.numeric(as.Date("2025-05-25")- as.Date("1899-12-30"))
    postdata <- list(StockID = "SZ000002", cycle="日线",begt = begt, endt = endt)
    # 使用HTTPBasicAuth进行基本认证
    response <- POST(
    url = url,
    body = postdata,
    encode = "json",
    add_headers(.headers = headers),
    #输入账号名与密码
    authenticate("tuser", "tpassw", type = "basic"),
    config = config(ssl_verifypeer = FALSE)
    )
    cat(status_code(response), "\n")
    response_text <- content(response, "text", encoding = "gbk")
    data_list = fromJSON(response_text)
    data_list
    执行结果: