python-3.x - 我无法获得使用 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”。还有其他可能吗?我只是不 不知道为什么这在过去不起作用之后现在不起作用。对不起,如果这是冗长的,我只是在我的智慧尽头。
解决方案
我在这个问题的帮助下想通了。出于某种原因,我不得不在您粘贴的链接末尾键入 &。
推荐阅读
- c++ - 访问嵌套模板结构的重载运算符上的封闭模板类数据成员
- java - JFreeChart: how to move Y-axis from left to right hand side?
- google-apps-script - Prevent deletion of checkbox in sheet editable by many users
- javascript - navigator.mediaDevices.getUserMedia 权限被拒绝
- python - Python Loop Only Iterating once with Large loop which takes input from a file
- imap - 无法为电子邮件设置标志
- biztalk - Biztalk - ExecutesendpipeLine()
- camunda - Accessing uploaded files from Camunda task
- sql - How to convert result string to column database
- c# - How can I test if my token is expired with IdentityServer4?