我想用命令行从Spotify API检索信息,例如:
curl "https://api.spotify.com/v1/search?type=artist&q=<someartist>"
但当我这么做的时候,我得到了:
{
"error": {
"status": 401,
"message": "No token provided"
}
}
我已经在我的Spotify开发者帐户中创建了一个应用程序。有人能告诉我如何通过搜索请求传递我的凭据吗?我不想编写应用程序或任何东西。我只想从命令行检索信息。
希望有人能帮忙!
2条答案
按热度按时间deyfvvtc1#
所以,我花了更多的时间破译https://developer.spotify.com/documentation/general/guides/authorization-guide/上的指令,实际上我找到了一个相当简单的解决方案。
我想做的是通过搜索特定的专辑从Spotify Web API中检索Spotify专辑URI。因为我不需要可刷新的访问令牌,也不需要访问用户数据,所以我决定使用客户端凭据授权流程(https://developer.spotify.com/documentation/general/guides/authorization-guide/#client-credentials-flow)。以下是我所做的:
1.在控制面板上的https://developer.spotify.com/dashboard/applications位置创建应用程序,并复制客户端ID和客户端密码
1.使用base64编码客户端ID和客户端密码:
1.使用编码的凭据请求授权,这为我提供了一个访问令牌:
1.使用该访问令牌,可以向API端点发出请求,而无需用户授权,例如:
所有可用的端点都可以在这里找到:https://developer.spotify.com/documentation/web-api/reference/
在我的例子中,我希望以“艺术家专辑”的格式读取终端中的输入,并输出相应的spotify URI,这正是下面的shell脚本所做的:
然后,我可以像这样运行脚本:
并且它将输出相册URI。
of1yzvn42#
现在问这个问题可能为时已晚,但是您是如何传递包含空格的艺术家和专辑的呢?我发现“和“不起作用,所以我不得不以Deep%20Purple Made%20In%20Japan为例。