尝试指定查询参数(q)可以使用SDK工作,但从cURL返回401

尝试指定查询参数(q)可以使用SDK工作,但从cURL返回401,curl,soundcloud,Curl,Soundcloud,我正在尝试对SoundCloudAPI进行搜索查询 使用他们的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 上面写着401-未经授权 如果我更改查询参数的顺序

我正在尝试对SoundCloudAPI进行搜索查询

使用他们的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
上面写着
401-未经授权

如果我更改查询参数的顺序
http://api.soundcloud.com/tracks?client_id=xxxx&q=punk
它将忽略
q
参数,并使用默认曲目列表进行响应


从cURL查询tracks端点的正确方法是什么?

您使用的URL没有任何错误,因此,如果您获得401,这是因为您使用的客户端id无效。请仔细检查客户端id是否与初始化JavaScript SDK时使用的相同

例如,使用我的一个测试应用程序的客户机id,以下工作正常:

curl”https://api.soundcloud.com/tracks?q=track&client_id=aeb03ac55f278fc7e579c744144b1d5d

querystring中参数的顺序对响应没有影响