用于上传文件的Soundcloud API已停止使用401错误

时间:2016-06-02 01:45:18

标签: soundcloud

我不确定这是什么时候停止工作,但直到最近我的应用程序在将曲目上传到Soundcloud时也没有问题。现在,在上传一个轨道(使用POST)后,我从服务器获得了401未经授权的响应。文件已经成功上传,我可以在用户的​​主页上看到它。

此外,我没有收到任何其他交互的错误消息,例如授权等。

2 个答案:

答案 0 :(得分:1)

好吧,我无法发表关于 Ashish Chaturvedi 之前回答的评论,因为我没有足够的声誉,所以我必须在这里做。

问题绝对与我的访问令牌无关。我可以使用完全相同的令牌来成功执行各种其他任务。

此代码已经工作多年而没有任何问题。它最近停止了工作。服务器端发生了变化。

另外,正如我在原帖中所说,即使服务器返回错误,音频文件实际上也已成功上传。

答案 1 :(得分:0)

根据SoundCloud docs

401未经授权

This means that we were not able to authenticate you based on the information provided in the request. Make sure you're sending a client_id or an access_token.

Our public endpoints will work by just providing a client_id. Acting on behalf of another user is different. The Authentication section gives a detailed explanation of how this works.

If you're connecting using OAuth, don't forget that tokens can expire. These will need to be refreshed. Not doing so can also result in getting a 401 error.

If you need to check your application's details, use the Your Applications page. This will include the client_id for your application.

一切都取决于你如何生成访问令牌,发生了两件事之一:

  • 您没有发送正确的访问令牌。

  • 您发送的访问令牌已过期。

如果是2,您应该在用户授权您的应用时获得刷新令牌。 PHP SoundCloud SDK有一个accessTokenRefresh()方法,您可以在此方案中使用该方法。