如何在R的GET函数中传递Pardot认证请求头?
解决R中Pardot API GET请求的认证头配置问题
我明白你被这个Authorization头的格式卡壳了——Pardot的API对这个头的格式要求很严格,咱们一步一步来搞定它:
首先,你之前的尝试有两个核心问题:
- 第一种写法把
api_key和user_key当成了add_headers()的独立参数,但实际上它们需要作为同一个Authorization头的值来传递 - 第二种写法的字符串拼接逻辑不对,没有按照
Pardot api_key=<key>, user_key=<key>的完整格式来构造
正确的实现代码
用httr包的话,你需要先构造出符合要求的Authorization头字符串,再传递给add_headers():
library(httr) # 替换为你的真实密钥 api_key <- "your_api_key_here" user_key <- "your_user_key_here" # 严格按照Pardot要求的格式构造认证头内容 auth_string <- paste0("Pardot api_key=", api_key, ", user_key=", user_key) # 替换为你实际要请求的API URL data_url <- "https://pi.pardot.com/api/<object>/version/3/do/<op>/<id_field>/<id>?<params>" # 发送GET请求 response <- GET(url = data_url, add_headers(Authorization = auth_string)) # 查看响应结果(按需使用) print(content(response))
关键细节说明
- 认证头的格式必须完全匹配:
Pardot后面直接跟空格,然后是api_key=xxx,逗号加空格后接user_key=xxx,不能有多余的符号或格式错误 - 确保
api_key和user_key是你从Pardot平台获取的有效密钥,没有拼写错误
这样发送的请求头就完全符合Pardot API文档要求的格式了,应该能解决你之前的认证问题~
内容的提问来源于stack exchange,提问作者BroQ
相关产品推荐
相关产品推荐

