使用令牌

时间:2018-02-28 14:14:33

标签: r rest httr

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

  1. 我必须使用我的用户名和密码来获取令牌 (我成功完成了什么,令牌存储在一个变量中)
  2. 我必须使用这个令牌来从API中获取数据,而这里我卡住了。
  3. 我试过了

    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并且不知道,有什么不对,有谁可以帮助我?

1 个答案:

答案 0 :(得分:1)

根据API配置的不同,我认为您会将其添加到网址中{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 = ' ' ))