当前位置:  开发笔记 > 编程语言 > 正文

使用httr包,设置标题名称为变量的标题

如何解决《使用httr包,设置标题名称为变量的标题》经验,为你挑选了1个好方法。

我想使用R httr包在请求中设置标题并设置标题,当我在变量中有标题的名称时.

我想做这样的事情:

tokenName = 'X-Auth-Token'

get_credentials_test <- function (token) {

  url <- paste(baseUrl,"/api/usercredentials", sep = '')
  r <- GET(url, add_headers(tokenName = token))
  r
}

但是,上面的代码似乎设置了一个名为tokenName的标头.

如果我执行以下操作,它确实有效:

get_credentials_test <- function (token) {

   url <- paste(baseUrl,"/api/usercredentials", sep = '')
   r <- GET(url, add_headers('X-Auth-Token' = token))
   r
}

但是如果标题的名称发生变化并且添加标题的要求大量洒在代码周围,我想要有一些灵活性.我不确定是否可以添加包含变量的头,但这是我想要做的.



1> David Robins..:

您可以将标题创建为命名向量,然后将其作为.headers参数传递:

h <- c(token)
names(h) <- tokenName

r <- GET(url, add_headers(.headers = h))

虽然这有效,因为add_headers它接受了一个.headers参数(参见此处),但是调用具有任意参数名称的函数的更通用的替代方法是do.call:

h <- list(token)
names(h) <- tokenName

r <- GET(url, do.call(add_headers, h))

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有