无法使用 httr 包连接到 Qualtrics API
Cant connect to Qualtrics API using httr package
我正在尝试使用 Rstudio Cloud“httr”包连接到 Qualtrics API 以下载邮件列表。在查看 API 文档后,我无法下载数据,在 运行 代码后出现以下错误:
"{"meta":{"httpStatus":"400 - 错误请求","error":{"errorMessage":"预期授权 headers,但 none 提供。","errorCode":"ATP_2"},"requestId":"8fz33cca-f9ii-4bca-9288-5tc69acaea13"}}"
这对我没有任何意义,因为我使用的是从 parent 令牌继承的身份验证。这是代码:
install.packages("httr")
library(httr)
directoryId<-"POOL_XXXXX"
mailingListId <- "CG_XXXXXX"
apiToken<-"XXXX"
url<- paste("https://iad1.qualtrics.com/API/v3/directories/",directoryId,
"/mailinglists/",mailingListId,"/optedOutContacts", sep = "")
response <- VERB("GET",url, add_headers('X_API-TOKEN' = apiToken),
content_type("application/octet-stream"))
content(response, "text")
任何帮助将不胜感激。
提前致谢。
您对 httr::VERB 的调用将 API 标记和内容类型分解为函数的两个参数,但它们应该在一个向量中一起传递给单个“配置”参数。此外,content_type 不是函数,它只是 header 向量中元素的名称。这应该有效:
response <- VERB("GET", url, add_headers(c(
'X_API-TOKEN' = apiToken,
'content_type' = "application/octet-stream")))
请注意,Qualtrics 将以包含“元”元素和“结果”元素的列表的形式返回邮件列表,这两者本身都是列表。如果列表很长,则只返回列表中的前 100 个联系人;将有一个元素 response$result$nextpage 将提供访问下 100 个结果所需的 URL。 qualtRics::fetch_mailinglist() function 不适用于 XM Directory 联系人列表(这可能是您在使用它时遇到 500 错误的原因),但用于解压缩列表并循环遍历每个“下一页”元素的代码可能会有所帮助。
我正在尝试使用 Rstudio Cloud“httr”包连接到 Qualtrics API 以下载邮件列表。在查看 API 文档后,我无法下载数据,在 运行 代码后出现以下错误:
"{"meta":{"httpStatus":"400 - 错误请求","error":{"errorMessage":"预期授权 headers,但 none 提供。","errorCode":"ATP_2"},"requestId":"8fz33cca-f9ii-4bca-9288-5tc69acaea13"}}"
这对我没有任何意义,因为我使用的是从 parent 令牌继承的身份验证。这是代码:
install.packages("httr")
library(httr)
directoryId<-"POOL_XXXXX"
mailingListId <- "CG_XXXXXX"
apiToken<-"XXXX"
url<- paste("https://iad1.qualtrics.com/API/v3/directories/",directoryId,
"/mailinglists/",mailingListId,"/optedOutContacts", sep = "")
response <- VERB("GET",url, add_headers('X_API-TOKEN' = apiToken),
content_type("application/octet-stream"))
content(response, "text")
任何帮助将不胜感激。
提前致谢。
您对 httr::VERB 的调用将 API 标记和内容类型分解为函数的两个参数,但它们应该在一个向量中一起传递给单个“配置”参数。此外,content_type 不是函数,它只是 header 向量中元素的名称。这应该有效:
response <- VERB("GET", url, add_headers(c(
'X_API-TOKEN' = apiToken,
'content_type' = "application/octet-stream")))
请注意,Qualtrics 将以包含“元”元素和“结果”元素的列表的形式返回邮件列表,这两者本身都是列表。如果列表很长,则只返回列表中的前 100 个联系人;将有一个元素 response$result$nextpage 将提供访问下 100 个结果所需的 URL。 qualtRics::fetch_mailinglist() function 不适用于 XM Directory 联系人列表(这可能是您在使用它时遇到 500 错误的原因),但用于解压缩列表并循环遍历每个“下一页”元素的代码可能会有所帮助。