首页 > 解决方案 > 如何设置 Spotipy 和访问 Spotify 的 Web API

问题描述

我的目标是建立一个 jupyter notebook,我可以在其中使用 Spotify 的 Web API 分析功能。我查看了 Python 的 Spotipy 库并安装了它。我遇到的麻烦是获取令牌并弄清楚如何定义redirect_url。如果我只想在 Jupyter 笔记本上运行它,是否需要 redirect_url?

我是否应该克隆 spotipy 文件,然后转到 util.py 设置客户端 ID 和用户名的参数?

标签: pythonapijupyter-notebookspotifyspotipy

解决方案


我在 Jupyter 笔记本中成功使用此代码进行身份验证,并使用spotipy向 Spotify 的 API 发出请求:

import spotipy
import spotipy.util as util
from spotipy.oauth2 import SpotifyClientCredentials
import spotipy.oauth2 as oauth2

market = [ "AD", "AR", "AT", "AU", "BE", "BG", "BO", "BR", "CA", "CH", "CL", "CO", "CR", "CY", 
      "CZ", "DE", "DK", "DO", "EC", "EE", "ES", "FI", "FR", "GB", "GR", "GT", "HK", "HN", "HU", 
      "ID", "IE", "IS", "IT", "JP", "LI", "LT", "LU", "LV", "MC", "MT", "MX", "MY", "NI", "NL", 
      "NO", "NZ", "PA", "PE", "PH", "PL", "PT", "PY", "SE", "SG", "SK", "SV", "TH", "TR", "TW", 
      "US", "UY", "VN" ]

CLIENT_ID = "< YOUR CLIENT ID HERE >"
CLIENT_SECRET = "< YOUR CLIENT SECRET HERE >"

credentials = oauth2.SpotifyClientCredentials(
        client_id=CLIENT_ID,
        client_secret=CLIENT_SECRET)

token = credentials.get_access_token()
spotify = spotipy.Spotify(auth=token)

track = "coldplay yellow"
res = spotify.search(track, type="track", market=market, limit=1)
print(res)

您从 Spotify 开发者帐户获得的客户 ID 和秘密。


推荐阅读