我正在尝试让 soundcloud 授权我的 django 应用程序,该应用程序已成功注册到 soundcloud。我传入注册期间提供的详细信息以及回调 uri (http://localhost:8000/profile/)。
我调用了登录页面,它提示我允许我的应用程序访问我的 soundcloud 帐户。我接受。
def login(request):
if request.method == 'GET':
client = soundcloud.Client(
client_id=settings.CLIENT_ID,
client_secret=settings.CLIENT_SECRET,
redirect_uri=settings.REDIRECT_URI,
)
return HttpResponseRedirect(client.authorize_url())
return render(request, 'login.html', {})
Soundcloud 为我的回调链接提供了附加的授权代码。
http://localhost:8000/profile/?code=xxxxxxxxxxxxxxxx...etc...&signed_up=0
要提取代码以获取交换令牌,我这样做:
urlpatterns = patterns('core.views',
url(r'^login/$', 'login', name='login'),
(r'^profile/\?code=(?P<code>[\d\w]{32}).*/$', 'profile'),
url(r'^admin/', include(admin.site.urls)),
)
但得到一个“找不到页面”。我在这里做错了什么?我检查了shell中的正则表达式,它返回了代码......
我是 oAuth 和 api 的新手,因此不胜感激。