使用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 +
造成这种情况的原因是什么?我想生成我的访问令牌并在以后打印。
答案 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())