-2

我正在尝试使用 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然后拦截显示来自redirect-url的视图,所以我的搜索方法永远不会完成执行。我对如何获得需要重定向 url 的令牌感到有些困惑,然后继续执行授权请求之后的其余方法

4

1 回答 1

0

我不确定这是否有帮助,但我放弃了通过 util.prompt_for_user_token 进行的身份验证,转而支持这个基本实现。它在瓶中实现,但应该相对容易转换为 django 和您的特定需求。我希望做同样的事情。

于 2016-08-09T01:13:45.960 回答