Soundcloud 凭据身份验证

Soundcloud credentials authentication

我有我的 soundcloud api ID,但是当我尝试使用 python3 中的用户凭据(客户端 ID、密码、用户名、密码)登录时,我得到了这个:

401 客户端错误:url 未经授权:https://api.soundcloud.com/oauth2/token

我在代码中唯一做的是:

client = soundcloud.Client(client_id='YOUR_CLIENT_ID',
                       client_secret='YOUR_CLIENT_SECRET',
                       username='YOUR_USERNAME',
                       password='YOUR_PASSWORD')

可能是什么问题?我没有在我的应用程序的注册过程中放置​​任何重定向 uri,因为我知道我将进行凭据身份验证,所以这可能是问题所在吗?我真的不知道这里出了什么问题,因为那直接来自他们的 API 网站!

昨天我们遇到了同样的问题,但是 Javascript 客户端。我们意识到我们的应用正在对 SoundCloud API 执行 GET 请求。我查看了请求参数以查看我们发送的内容,然后我可以获得我们的应用程序发送到 SoundCloud 的 client_id

所以我登录并转到 SoundCloud 管理面板上的 "registered apps" (https://soundcloud.com/you/apps)。我在我们注册的其中一个应用程序中得到了 SoundCloud 向我展示的 client_id,我做了一些测试并将其放入应用程序中。现在可以正常使用了。

我不确定为什么 client_id 发生了变化。

解决方案:

我用请求模块代替了上面的方法

http://docs.python-requests.org/en/latest/user/quickstart/#redirection-and-history

并做了 Post 到:

https://api.soundcloud.com/oauth2/token

使用这些参数:

grant_type=password&client_id=YOUR_CLIENT_ID&client_secret=YOUR_SECRET_ID&username=USERNAME&password=PASSWORD&scope=non-expiring

这个答案是从这里找到的:

Soundcloud API authentication without a web browser