(spotipy)方法永远不会完成,因为它最终在oauth重定向url的视图

时间:2016-08-08 15:14:06

标签: django oauth spotipy

我正在尝试使用spotipy来执行Spotify的搜索请求。我在我的bash_profiles中指定了客户端ID,密码ID和重定向URL(http://127.0.0.1:8000/callback/q),如API中所述。

def search(username, query):

    token = util.prompt_for_user_token(username, scope) #like oauth with redirect url
    print("received token response")

    if token:
        sp = spotipy.Spotify(auth=token)
        return sp.search(query, 1, 0, type='track')

问题是我正在使用django,这也迫使我在urls.py中指定重定向url并在views.py中指定相应的视图

    [from urls.py...]
    url(r'^callback/q$', views.callback, name='callback'),

    [from views.py...]
    def callback(request):
        print("callback view reached")
        return render(request, 'rec/search.html')

似乎django然后intercepts显示redirect-url的视图,所以我的搜索方法永远不会完成执行。我对如何获得需要重定向URL的令牌感到有点困惑,然后继续执行授权请求之后的其余方法

1 个答案:

答案 0 :(得分:0)

我不确定这是否有帮助,但我通过util.prompt_for_user_token放弃了身份验证,转而使用this basic implementation。它是在瓶子中实现的,但应该相对容易转换为django和您的特定需求。我希望也这样做。