【问题标题】:Google Colab - Spotipy not redirecting me to the specified redirect_uriGoogle Colab - Spotipy 没有将我重定向到指定的 redirect_uri
【发布时间】:2021-07-31 21:57:19
【问题描述】:

我想使用 Spotipy python 包来试验 Spotify API。

首先,在我的 Spotify 开发者应用中, 我已将 redirect_uri 设置为 https://example.com/callback/

这是我试图在 Google Colab 笔记本上运行的代码

import pandas as pd
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials

spotify_details = {
    'client_id' : '<hidden>',
    'client_secret':'<hidden>',
    'redirect_uri':'https://example.com/callback/'}

scope = "user-library-read user-follow-read user-top-read playlist-read-private" 

sp = spotipy.Spotify(
        auth_manager=spotipy.SpotifyOAuth(
          client_id=spotify_details['client_id'],
          client_secret=spotify_details['client_secret'],
          redirect_uri=spotify_details['redirect_uri'],    
          scope=scope))

results = sp.current_user_saved_tracks()
for idx, item in enumerate(results['items']):
    track = item['track']
    print(idx, track['artists'][0]['name'], " – ", track['name'])

这是我看到的输出:

但我的浏览器不会将我重定向到任何 URL 以让我接收身份验证令牌

我做错了什么?

【问题讨论】:

    标签: python jupyter-notebook google-colaboratory spotify spotipy


    【解决方案1】:

    Colab 是无浏览器环境,建议in the FAQ 添加参数

    open_browser=False
    

    当您实例化您的 spotipy.SpotifyOAuth 对象时:

    sp = spotipy.Spotify(
            auth_manager=spotipy.SpotifyOAuth(
              client_id=spotify_details['client_id'],
              client_secret=spotify_details['client_secret'],
              redirect_uri=spotify_details['redirect_uri'],    
              scope=scope, open_browser=False))
    

    这样,notebook会打印出你可以手动打开的URL:

    【讨论】:

    • 非常感谢,rob_med。这完美地工作。除了网站自己的常见问题解答之外,我到处搜索都是一个典型的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2021-06-23
    • 2018-04-07
    • 1970-01-01
    相关资源
    最近更新 更多