使用令牌使用R来使用REST API

问题描述 投票:1回答:1

我想使用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替换它(类似于)。所以我最终得到了网址

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

我从提供商处获得的所有规范都是

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

我尝试首先使用vi.net使用api并在标头中发送令牌

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

现在我使用R得到一个401 Unauthorized,不知道,有什么不对,谁能帮助我?

r rest httr
1个回答
1
投票

根据API配置,我认为你会将它添加到URL中的{identifier}的大括号中。

    req_token <- THE TOKEN I HAVE RECIEVED ALREADY
    url <- paste('https://myService.com/web/api/datasources/', req_token, '/data', sep='')

这就是一些API的做法。这意味着您的标题可能不再像这样。

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

他们可能就不会再那里了。所以喜欢:

mydata <- GET(url)

如果标题中需要令牌,则可能看起来更像是:

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

但我怀疑令牌将在URL和标题中。您必须找出文档中需要哪些内容。

编辑

我相信你的标题应该是这样的:

mydata <- GET(url, config = add_headers("Authorization " = paste( "Basic", req_token, sep = ' ' ))
© www.soinside.com 2019 - 2024. All rights reserved.