问题标签 [spotipy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3780 浏览

python - Spotipy - 从曲目名称中获取曲目 ID

通常,spotipy需要轨道 ID 作为要传递的参数,以便返回轨道名称。

假设我有两个列表,不是从 Spotify API 获得的:

  1. 艺术家

    以及他们各自的歌曲:

  2. 轨道

    /li>

是否可以反过来获取轨道 ID?

0 投票
1 回答
131 浏览

python - Python - 在循环内发出 https 请求时将项目附加到列表中

我正在向SPotify API内部发出请求for loop,如下所示:

我可以,但如果我尝试,控制台不会返回任何内容printtreturn track_ids

日志告诉我:

似乎一遍又一遍地开始和结束连接与它有关......或者我在这里遗漏了一些明显的东西?

我该如何解决这个问题并设法建立我的track_ids list

0 投票
1 回答
1563 浏览

spotipy - Spotipy:“模块”对象没有属性“Spotify”

尝试运行 Spotipy 时,我不断收到以下消息:

AttributeError:module对象没有属性Spotify

运行从 Spotify 文档复制的基本代码:

它似乎以前有效,所以想知道更新到 macOS Sierra 是否与它有关?

0 投票
1 回答
188 浏览

python - Spotipy 身份验证不返回令牌?

好的,我已经阅读了我能找到的关于 spotipy 身份验证方法的所有文档,并且我编写了一小段代码来测试它,但我无法让它工作。基本上发生的事情是我运行应用程序,它给了我一个登录链接,我单击该链接,然后应用程序要求我粘贴重定向 URI 并按 Enter。我这样做了,什么也没有发生。我真的不确定从这里去哪里,所以我可以使用一些帮助来弄清楚!

这是我的测试代码(显然我通常使用自己的 ID、Secret、用户名和 URI):

基本上,我的代码似乎没有进入“if token”部分,我不知道为什么。实际上,我不介意找到一种不涉及用户交互的身份验证方式,因为我的应用程序基本上是一个自动化过程。我也没有使用重定向 URI,但我确实在我的 Spotify 应用程序中放置了一个随机网站,所以它至少在这个意义上是“有效的”。(如果我不能以某种方式使用 URI,那也很棒!)

提前致谢!

0 投票
0 回答
1555 浏览

python - 在 Spotipy for Spotify 中使用缓存令牌时遇到问题?

我正在尝试使用 Spotipy 访问用户的 Spotify 库,但遇到了一些麻烦。作为背景,我使用的是 Flask、SQLAlchemy 和 Flask-Login。

我从 github 上的本教程开始,但这对我来说不太适用,因为如果您使用缓存,所有用户都可以访问其令牌被缓存的用户的播放列表,并且因为有一个缓存的令牌,第一个用户之后的任何用户都无法登录 Spotify。这是一些初始设置:

为了解决这个问题,我首先尝试将每个用户的访问代码存储在我的数据库中(我也在使用 SQLAlchemy)。它看起来像这样(在 Spotipy 使用访问代码重定向到的页面的方法下):

但是,此路由旨在返回用户拥有的播放列表的名称,因此我希望只要用户登录,每次都无需通过 Spotify 授权 URL 即可访问它。所以,如果request.args["code"]为空,我尝试:

然后我尝试使用这个 Spotify 实例访问用户。但是,使用存储的访问代码(不出所料)会给我一个 Bad Request 错误。我不确定如何获取新代码,或者我应该存储什么以便我不需要缓存但仍然可以获得访问播放列表的凭据。或者,有没有一种方法可以缓存但只有某些用户可以访问缓存中的某些令牌?

谢谢!

0 投票
2 回答
924 浏览

python - 如何以列表格式获取 Spotipy 播放列表结果

我正在使用 spotipy 来获取我的播放列表。我用

这将返回一个播放列表 uri 的列表,看起来像

spotify:用户:ultramusicofficial:播放列表:0gvQoG7iMMz8L5Ltsa4lkT spotify:用户:spotify:播放列表:4Ha7Qja6HY3AgvNBgWz87p spotify:用户:ministryofsounduk:播放列表:7grWVkJDQpcBie8oqKP6hv

但是它返回它们的方式有些奇怪。这不是一个正常的列表,我似乎无法将其纳入其中。如果我使用

它会返回类似的东西

我希望能够做类似的事情

并让它返回

spotify:用户:spotify:播放列表:4Ha7Qja6HY3AgvNBgWz87p

我尝试过加入它并以不同的方式拼接它,我尝试过将它用作元组,将其转换为字符串。没有任何效果我显然很不确定该怎么做。我觉得这可能很简单,我只是想念它。任何帮助将不胜感激。

0 投票
0 回答
335 浏览

python-3.x - Spotipy 授权代码流 - 用户名有下划线时出错

我正在使用 Spotipy Python 库与 Spotify Web API 进行交互。用户身份验证的两个流程之一是Authorization Code Flow。我尝试从终端输入我的用户名(包括下划线)运行示例中的代码。这是代码:

但它给了我以下回溯错误:

回溯(最后一次调用):文件“”,第 1 行,在文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/spotipy/util.py”,第 56 行,在 prompt_for_user_token token_info = sp_oauth.get_cached_token() 文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/spotipy/oauth2.py”,第 135 行,在 get_cached_token if 'scope ' 不在 token_info 中或不在 self._is_scope_subset(self.scope, token_info['scope']): File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/spotipy/oauth2 .py",第 157 行,在 _is_scope_subset haystack_scope = set(haystack_scope.split()) AttributeError: 'NoneType' object has no attribute 'split'

然后我用其他用户名不带下划线尝试了相同的代码,它起作用了。所以问题与用下划线分割字符串有关。有什么办法解决这个问题吗?

0 投票
1 回答
2154 浏览

python-3.x - Spotipy - 无法登录以进行身份​​验证(授权代码流)

我正在使用 Spotipy Python 库连接到 Spotify Web API。我想通过Authorization Code Flow访问我的 Spotify 用户帐户。我正在使用 Python 3.5、Spotipy 2.4.4、Google Chrome 55.0.2883.95(64 位)和 Mac OS Sierra 10.12.2

首先,我去Spotify 开发者网站注册程序以获取客户端 ID、客户端密钥并在我的白名单上输入重定向 URI ( https://www.google.com )。

其次,我从终端设置环境变量:

然后我尝试从终端运行示例代码,键入“python3.5 script.py my_username”。这是脚本:

运行此代码时,它会将我带到浏览器上的登录屏幕。我输入我的 Spotify 凭据以授予对我的应用程序的访问权限。但是当我最终点击“登录”(或西班牙语中的“Iniciar sesión”)时,什么也没有发生。我尝试使用我的 Facebook 帐户登录,但它也不起作用。似乎每次单击“登录”时都会收到错误请求。这是 Chrome 的截图:

在此处输入图像描述

该过程不完整,因为当尝试在终端上输入重定向 URI 时,我收到另一个错误请求:

我尝试重新启动计算机,清理浏览器 cookie,使用另一个不同的浏览器,但没有成功。看来我不是唯一一个这个问题的人。这可能是一个错误吗?请避免诸如“阅读此处的 API 文档”之类的答案。谢谢你。

0 投票
3 回答
4154 浏览

python - Spotipy - 设置 CLIENT_ID 和 CLIENT_SECRET

我在哪里可以设置 CLIENT_ID 和 CLIENT_SECRET 以便它不存储在我的 python 脚本中?Spotipy 文档说明了以下内容,但我无法弄清楚我需要去哪里输入这些环境变量。我在哪里设置 os.getenv?

0 投票
1 回答
1642 浏览

python - Spotify API - 通过命令行进行身份验证

为了访问我的播放列表,我使用了以下示例代码,该代码是从spotipy 文档页面获得的:

当我用 运行脚本时python myscript.py myusername,我得到了这个:

然后,如果我输入http://localhost:8000/callback/,我会收到以下错误:

我该如何解决?