缺少参数client_id??Ruby RestClient问题
我使用RestClient与Spotify API一起工作(但我假设这是一个一般性问题,而不是Spotify) API要求传递客户端id。我的代码: authorization=Base64.strict_encode64“#{@clientID}:#{@clientSecret}” 开始 rescue RestClient::BadRequest=>e 放e.回应 结束 但是我得到了一个BadRequest异常,响应状态为“缺少必需的参数:client_id” 如果我做卷发:缺少参数client_id??Ruby RestClient问题,ruby,rest-client,Ruby,Rest Client,我使用RestClient与Spotify API一起工作(但我假设这是一个一般性问题,而不是Spotify) API要求传递客户端id。我的代码: authorization=Base64.strict_encode64“#{@clientID}:#{@clientSecret}” 开始 rescue RestClient::BadRequest=>e 放e.回应 结束 但是我得到了一个BadRequest异常,响应状态为“缺少必需的参数:client_id” 如果我做卷发: puts `cu
puts `curl -I -s -X GET "#{AUTHORIZE_URI}?client_id=#{@clientID}&response_type=code&redirect_uri=REDIRECT_URI"`
我得到一个正常的,200 OK的回复。这里发生了什么事???您必须使用
params
内键headers
散列来传递查询参数。以下文件
由于原始API中的错误选择,参数
填充查询字符串实际上是从headers散列中取出的。
因此,如果要同时传递参数散列和更复杂的选项,
在headers散列中使用特殊键:params。这种设计可以
在未来的主要版本中进行更改
必须使用
params
key-inheaders
hash传递查询参数。以下文件
由于原始API中的错误选择,参数
填充查询字符串实际上是从headers散列中取出的。
因此,如果要同时传递参数散列和更复杂的选项,
在headers散列中使用特殊键:params。这种设计可以
在未来的主要版本中进行更改
puts `curl -I -s -X GET "#{AUTHORIZE_URI}?client_id=#{@clientID}&response_type=code&redirect_uri=REDIRECT_URI"`
RestClient::Request.execute(method: :get,
url: 'http://example.com/resource',
timeout: 10,
headers: {params: {foo: 'bar'}}
)
➔ GET http://example.com/resource?foo=bar