尝试指定查询参数(q)使用SDK,但从cURL返回401未授权

时间:2013-04-01 19:30:50

标签: curl soundcloud

我正在尝试在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端点的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

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

例如,使用我的某个测试应用的客户端ID,以下工作正常:

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

查询字符串中参数的顺序对响应没有影响。