gpt4 book ai didi

python - 如何在 Python 中格式化我对 Spotify Web API 的 GET 请求?

转载 作者:行者123 更新时间:2023-12-05 06:10:51 32 4
gpt4 key购买 nike

我是 API 的新手。我正在尝试创建一个脚本,该脚本将从 Spotify 输出公共(public)播放列表的轨道。我在早期阶段遇到了障碍:我不确定如何准确格式化我的 GET 请求以检索有问题的播放列表的轨道以及我将 OAuth 访问 token 放在哪里。我当前的尝试返回 401 状态代码。

到目前为止我做了什么:

  • 我在 Spotify 开发者网站仪表板上创建了一个应用程序。
  • 我已将仪表板中的 client_id 和 client_secret 保存到脚本中(“spotifysecrets.py”)。
  • 我在主脚本中运行了以下代码:
import requests

from spotifysecrets import client_id as cid, client_secret as cs

AUTH_URL = "https://accounts.spotify.com/api/token"

token_req = requests.post(AUTH_URL, {
"grant_type": "client_credentials",
"client_id": cid,
"client_secret": cs
})

access_token = token_req.json()["access_token"]

到目前为止,一切似乎都运行良好。问题出现在下一步。

  • 获得 token 后,我在尝试发出我的轨道请求时遇到了401 错误。我写的代码如下:
pl_id = "…"  # I have elided the actual playlist ID for the purposes of this question
tracks = "https://api.spotify.com/v1/playlists/{}/tracks".format(pl_id)
songs_req = requests.get(tracks, {
"Authorization": "Basic {}".format(access_token)
})

编辑

我试过用

songs_req = requests.get(tracks, headers={
"Authorization": "Basic {}".format(access_token)
})

相反,但这会产生 400 错误。

最佳答案

我查看了 api,我相信你有一个语法错误:

songs_req = requests.get(tracks, {
"Authorization": "Basic {}".format(access_token)
})

应该是:

songs_req = requests.get(tracks, {
"Authorization": "Bearer {}".format(access_token)
})

关于python - 如何在 Python 中格式化我对 Spotify Web API 的 GET 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64214192/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com