gpt4 book ai didi

Python请求库头授权问题

转载 作者:行者123 更新时间:2023-12-01 02:48:28 26 4
gpt4 key购买 nike

我正在尝试使用 Spotify Web API 访问我的可用 Spotify 设备。看这个link对于我尝试访问的特定 API 端点。我在 macOS Sierra 上的 virtualenv 中使用 Python 2.7。

我已经有了一个授权 token ,我用它来进行其他几个函数调用,所以我知道它是有效的。然而,这是我第一次使用 requests 库,而不是使用将 http 请求抽象为 Spotipy 函数调用的 Spotipy 包装器。

上面链接中的文档指出我需要在 header 中传递我的授权 token 。我知道在请求模块中,您应该将 header 作为字典传递,其中键和值都是字符串。

这是我用来发出请求的代码:

token_string = token.encode('ascii','ignore')
print type(token_string)
headers = {"Authorization":token_string}
r=requests.get("https://api.spotify.com/v1/me/player/devices", headers=headers)

我将 token 编码为字符串,因为我读到请求模块更喜欢字符串而不是 unicode,并且 token 最初采用 unicode。

我不断收到 400 错误(请参阅下面的打印内容),这是授权问题。我认为问题可能是我没有正确传递授权 token 。有人对此有任何见解吗?

<Response [400]>

最佳答案

根据发布页面上的示例判断,您应该使用 Bearer 前缀进行授权(对于“为什么?”,请检查5. token 将返回到您的应用程序 Spotify Web API Authorization Guide 的部分),所以:

headers = {"Authorization": "Bearer {}".format(token_string)}
r = requests.get("https://api.spotify.com/v1/me/player/devices", headers=headers)

只要您的 token 有效,就应该可以工作,您不需要执行任何编码或任何操作 - 只需将其按面值存储在 token_string 中即可。

已经有 Python Spotify 客户端模块了,所以与其自己争论,为什么不使用其中一个,比如 spotipy甚至在官方 Spotify API examples 上也提到了这一点页面?

关于Python请求库头授权问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45064539/

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