使用HTTR

时间:2019-08-21 03:30:11

标签: r

我正在努力编写与以下curl命令等效的httr:POST语句(实际的client_id和client_secret被伪字符串替换):

curl -i -X POST -H "ContentType: x-www-form-urlencoded" -d 
"grant_type=client_credentials&client_id=XXXXXXXX&client_secret=XXXXXXXX" 
"https://api.beta.tab.com.au/oauth/token"

我尝试了以下似乎无效的方法:

POST("https://api.beta.tab.com.au/oauth/token",
  add_headers('Content-Type'='application/json'),
  body = list(grant_type = "client_credentials",
  client_id = "XXXXXXXX",
  client_secret = "XXXXXXXX"),
  encode = "json")

我希望状态代码为200,但事实并非如此...

1 个答案:

答案 0 :(得分:0)

我假设您上面的curl命令正在运行。在检查curl -d here的定义时,可以看到使用内容类型application / x-www-form-urlencoded将数据传递到服务器。但是,您正在使用json编码构建post命令。换句话说,您未在POST正文中发送相同的格式,并且我假设这是您的问题,因为您的服务器可能期望数据以 urlencoded格式而不是 json 。您应检查此quickstart并尝试在设置了详细标志的交互式会话中运行命令,以查看发送到服务器的内容。