获取Soundcloud桌面应用程序的访问令牌?

时间:2013-12-08 13:19:13

标签: python python-2.7 oauth-2.0 soundcloud access-token

使用Soundclouds SDK for Python进行游戏,并将TKinter作为GUI的影响。现在我想为每个用户生成一个访问令牌,以便我可以访问更多的API端点。

我在Soundclouds Developer门户中创建了一个应用程序,其中包含指向我的回调的链接。

没有任何内容对应于为桌面应用程序生成访问令牌。仅适用于服务器端应用程序。我在下面尝试了这段代码:

import soundcloud

# create client object with app credentials
client = soundcloud.Client(client_id='YOUR_CLIENT_ID',
                           client_secret='YOUR_CLIENT_SECRET',
                           redirect_uri='REDIRECT_URL')

# redirect user to authorize URL
redirect client.authorize_url()

我设置了我的密钥,redirect_uri作为我的网络服务器上的回调。当我从终端运行我的python文件时,我得到了这个:

File "token.py", line 9
    redirect client.authorize_url()
                  ^
SyntaxError: invalid syntax

使用Python 2.7.5 +

造成这种情况的原因是什么?我想生成我的访问令牌并在以后打印。

3 个答案:

答案 0 :(得分:2)

解决方案可能是我需要创建Web浏览器窗口的实例,让用户使用Soundcloud connect接受应用程序。我抓住了网址并整理了网址中的“代码”。将代码与访问令牌交换并将其存储在文本文件中。所以我以后可以抓住它。

答案 1 :(得分:1)

获取访问令牌的一种简单方法是首先通过User Credentials流进行身份验证,该流会交换您的用户名和密码以获取访问令牌:

client = soundcloud.Client(client_id = 'CLIENT_ID',
                           client_secret = 'CLIENT_SECRET',
                           username = 'USERNAME',
                           password = 'PASSWORD')
print client.access_token

答案 2 :(得分:0)

尝试:

redirect(client.authorize_url())