我正在尝试在SoundCloud API上进行搜索查询。
使用他们的JavaScript SDK,以下工作:
SC.get('/tracks', { q: 'punk' }, function(tracks) {
console.log(tracks);
});
但是如果我尝试使用cURL执行相同的查询:
curl -v http://api.soundcloud.com/tracks?q=punk&client_id=xxxx
它说<error>401 - Unauthorized</error>
如果我更改查询参数http://api.soundcloud.com/tracks?client_id=xxxx&q=punk
的顺序,它将忽略q
参数并使用默认曲目列表进行回复。
从cURL查询track端点的正确方法是什么?
答案 0 :(得分:1)
您正在使用的网址没有任何错误,因此如果您获得的是401,那是因为您使用的是无效的客户端ID。请仔细检查客户端ID是否与初始化JavaScript SDK时使用的客户端ID相同。
例如,使用我的某个测试应用的客户端ID,以下工作正常:
curl "https://api.soundcloud.com/tracks?q=track&client_id=aeb03ac55f278fc7e579c744144b1d5d
查询字符串中参数的顺序对响应没有影响。