【发布时间】:2019-09-02 03:51:41
【问题描述】:
我在尝试获得身份验证以使用 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.x oauth spotipy