使用令牌使用 R 使用 REST API

Consume a REST API with R using a Token

我想使用 REST API 并且必须为其执行以下步骤。

  1. 我必须使用我的用户名和密码获取令牌 (我已经成功完成并且令牌存储在变量中)
  2. 我必须使用此令牌从 API 获取数据,我卡在这里了。

我试过了

req_token <- THE TOKEN I HAVE RECIEVED ALREADY
url <- 'https://myService.com/web/api/datasources/{identifier}/data'
mydata <- GET(url, config = add_headers(paste0("Basic ", req_token)))

标识符用于在多个数据源中指定一个数据源,因此在我的情况下,我不得不将其替换为 EdQVFcgRGF0(类似)。所以我最终得到 url

https://myService.com/web/api/datasources/{EdQVFcgRGF0}/data

我从供应商那里得到的所有规格是

/datasources/{identifier]/data (GET)
● get data for one datasource (full data)

我尝试先使用 vb.net 使用 api,然后在 header 作品中发送令牌

request.AddHeader("Authorization", "Basic " + _token)

现在我用 R 得到了一个 401 Unauthorized,但不知道出了什么问题,谁能帮帮我?

根据 API 配置,我认为您会将其添加到 URL.

{identifier} 的大括号中
    req_token <- THE TOKEN I HAVE RECIEVED ALREADY
    url <- paste('https://myService.com/web/api/datasources/', req_token, '/data', sep='')

有些 API 就是这样做的。这意味着您的 header 可能不再像现在这样了。

mydata <- GET(url, config = add_headers(paste0("Basic ", req_token)))

他们可能不会再出现了。所以喜欢 :

mydata <- GET(url)

如果 header 中需要令牌,它可能看起来更像这样:

mydata <- GET(url, config = add_headers("Basic " = req_token))

但我怀疑令牌会同时出现在 URL 和 header 中。您必须从文档中找出哪些是必需的。

编辑

我相信你的 header 应该是这样的:

mydata <- GET(url, config = add_headers("Authorization " = paste( "Basic", req_token, sep = ' ' ))