You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用RStudio Connect接口获取近60天应用统计数据报错咨询

RStudio Connect 60天部署应用使用统计数据获取方案

核心问题说明

  • 时间格式兼容性问题:原代码构造的起始时间参数时区后缀-00:00在部分版本的RStudio Connect中会被识别为无效时间范围,导致仅返回少量匹配结果或无结果。
  • 空值判断逻辑错误:API返回的未登录用户标识为NA而非NULL,原代码的is.null()判断逻辑完全不生效,匿名用户标识无法正常替换。
  • API分页未处理:RStudio Connect的运行数据接口默认最多返回100条记录,60天的使用数据通常远超该阈值,未处理分页的情况下仅能拿到第一页的少量数据。
  • 字段映射逻辑冲突:原代码构造的tibble字段名与API返回的原生字段名不一致,容易引发后续统计时的字段匹配错误。

修复后可直接运行的代码

rsc_server <- "https://rstudio.hartxxx.com/"
Sys.setenv("RSTUDIO_CONNECT_API_KEY" = rstudioapi::askForPassword("Enter Connect Token:Uxxx"))

library(httr)
library(purrr)
library(tibble)
library(dplyr)

# 支持分页拉取所有结果的通用请求函数
rsc_get_all <- function(endpoint_call){
  all_results <- list()
  next_path <- paste0("__api__/v1/", endpoint_call)
  rsc_auth <- add_headers(Authorization = paste("Key", Sys.getenv("RSTUDIO_CONNECT_API_KEY")))
  
  while(!is.null(next_path)){
    rsc_call <- paste0(rsc_server, next_path)
    resp <- GET(rsc_call, rsc_auth)
    stop_for_status(resp) # 新增请求错误校验,快速定位权限/接口异常
    resp_content <- content(resp)
    all_results <- c(all_results, resp_content$results)
    next_path <- resp_content$paging$`next` # 自动读取下一页请求路径
  }
  return(all_results)
}  

# 构造符合RFC3339标准的UTC起始时间,适配所有版本的RStudio Connect
start_time <- format(as.POSIXct(Sys.Date() - 60, tz = "UTC"), "%Y-%m-%dT%H:%M:%SZ")
rsc_shiny_results <- rsc_get_all(paste0("instrumentation/shiny/usage?from=", start_time))

# 构造结构化使用数据表
shiny_usage <- map_dfr(
  rsc_shiny_results,
  ~ tibble(
    content_guid = .x$content_guid,
    user_guid = ifelse(is.na(.x$user_guid), "anonymous", .x$user_guid),
    started = as.POSIXct(.x$started),
    ended = as.POSIXct(.x$ended),
    data_version = .x$data_version,
    session_duration = as.difftime(ended - started, units = "mins")
  )
)

# 查看结果结构
glimpse(shiny_usage)

结果验证方式

  • 执行nrow(shiny_usage)查看总记录条数,可与RStudio Connect后台的访问统计面板数据做一致性校验
  • 可通过group_by(content_guid)对数据分组,计算每个应用的总访问次数、累计访问时长、独立访问用户数等自定义统计指标

内容的提问来源于stack exchange,提问作者NewInPython

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:15:03