首页 > 解决方案 > 我无法获得使用 Spotify API 的访问令牌

问题描述

我在尝试获得身份验证以使用 Spotify API 和 oauth 时遇到了一段荒谬的时间。这是我的代码:

import os
import spotipy
import spotipy.util as util
from json.decoder import JSONDecodeError


# Gives Spotify credentials:
username = "MY_USERNAME"
scope = "user-read-currently-playing"

# Gives developer app credential:
ID = "MY_ID_FROM_CREATED_SPOTIFY_APP"
SECRET = "MY_SECRET_FROM_CREATED_SPOTIFY_APP"
URI = "http://google.com/"

# Erase cache and prompt for user permission:
try:
    token = util.prompt_for_user_token(username, scope, ID, SECRET, URI)
except (AttributeError, JSONDecodeError):
    os.remove(".cache-" + username)
    token = util.prompt_for_user_token(username, scope, ID, SECRET, URI)

# Creates Spotify Object
sp = spotipy.Spotify(auth=token)

我看过多个教程,阅读了无数其他问题,并在多台计算机和代码编辑器上尝试过(我正在使用 PyCharm),每次我得到spotipy.oauth2.SpotifyOauthError: Bad Request. 我真的不知道还能在这里尝试什么,而令我疯狂的是几个月前我在另一个项目中使用了相同的代码(具有不同的应用程序 ID)。我能够按照相同的步骤成功获得身份验证。我很明显在我尝试这个的任何地方都犯了一个关键错误。我已经重启了三遍。我尝试过的一些事情:使用不同的重定向 URI(我尝试了 localhost 和所有其他建议),确保我将 URI 列入白名单,确保我在重定向 URI 的末尾有反斜杠。我没有尝试过的唯一建议是“从我的配置文件夹中删除 .spotify-token-cache 文件”。我在 Windows 上使用 PyCharm,我一辈子都找不到这个“.spotify-token-cache”。还有其他可能吗?我只是不 不知道为什么这在过去不起作用之后现在不起作用。对不起,如果这是冗长的,我只是在我的智慧尽头。

标签: python-3.xoauthspotipy

解决方案


我在这个问题的帮助下想通了。出于某种原因,我不得不在您粘贴的链接末尾键入 &。


推荐阅读