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

R-Shiny中content函数对response类对象报错的原因及解决方案

R Shiny中调用httr的content()函数报错解决方案

问题现象

普通R环境中可正常运行以下代码获取API令牌:

library(httr)
library(jsonlite)
r <- POST("https://XXXXXXX.com/authservice/connect/token",
          config = list(),
          body = list(
            grant_type    = "password",
            username      = "testco",
            client_id     = "ClientIDname",
            client_secret = "Clientpassword",
            scope         = "xxxGroup"
          ),
          encode = "form"
)
warn_for_status(r)
status_code(r)
tok <- content(r)$access_token

将相同代码迁移至R Shiny中运行时,出现如下报错:
Error in UseMethod: no applicable method for 'content' applied to an object of class "response"
经确认响应对象r中确实存在目标令牌,但无法通过content(r)$access_token提取。


补充验证测试

普通R环境中运行以下代码可正常返回结果:

library("httr")
library("rjson")
api.url <- "http://api.tvmaze.com/lookup/shows?imdb=tt1325113"
r <- GET(api.url)
content(r)

同款代码在R Shiny中运行出现同类报错:

library(shiny)
library("httr")
library("rjson")
ui <- fluidPage(
)
server <- function(input, output, session) {
  api.url <- "http://api.tvmaze.com/lookup/shows?imdb=tt1325113"
  r <- GET(api.url)
  content(r)
}
shinyApp(ui, server)

问题根因

项目中加载NLP包后,NLP包的content()函数与httr包的content()函数产生命名空间冲突,Shiny运行时调用了错误的content()函数,导致方法匹配失败报错。

解决方案

显式指定httr包的命名空间调用函数,将content(r)替换为httr::content(r)即可正常提取响应内容。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:18:01