首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Spotify获取歌词数据

从Spotify获取歌词数据
EN

Stack Overflow用户
提问于 2022-09-13 14:11:30
回答 2查看 403关注 0票数 1

我已经知道网址是https://spclient.wg.spotify.com/color-lyrics/v2/track/${TRACK_ID}?format=json&vocalRemoval=false

它需要两个标头。app-platform: WebPlayerauthorization: Bearer TOKEN.

所以,使用卷曲,我可以得到这样的歌词信息:

代码语言:javascript
运行
复制
$ TRACK_ID=3z8h0TU7ReDPLIbEnYhWZb
$ BEARER_TOKEN=xxxxxxxxxxxxxx
$ curl "https://spclient.wg.spotify.com/color-lyrics/v2/track/${TRACK_ID}?format=json&vocalRemoval=false" -H "app-platform: WebPlayer" -H "authorization: Bearer ${BEARER_TOKEN}"
{
  "lyrics": {
    "syncType": "LINE_SYNCED",
    "lines": [
      {
        "startTimeMs": "110",
        "words": "Is this the real life? Is this just fantasy?",
        "syllables": [],
        "endTimeMs": "0"
      },
      {
        "startTimeMs": "6990",
        "words": "Caught in a landslide, no escape from reality",
        "syllables": [],
        "endTimeMs": "0"
      },
      ...

实际问题是如何以编程方式获得所需的承载令牌?我尝试使用这个站点上的Get令牌按钮请求一个令牌:https://developer.spotify.com/console/get-track/

但是这个标记似乎只适用于官方API。对于歌词API,我总是得到以下对该标记的响应:

代码语言:javascript
运行
复制
{
  "error": {
    "status": 403,
    "message": "Client not allowed"
  }
}

另外,来自上述链路的承载令牌要短得多,并且不包含破折号。

我知道我可以复制web客户端在https://open.spotify.com上使用的Bearer,但是令牌总是在很短的时间内过期。

因此,我要么寻找一种获得永久令牌的手动方式,要么寻找一种以编程方式获得短暂令牌的方法。

我并不是在寻找特定编程语言中的解决方案。任何一种语言都能做到,或者是一种抽象的解释。

EN

回答 2

Stack Overflow用户

发布于 2022-09-26 12:01:26

这个API不是为公众使用而设计的,也不是文档化的,也不是许可的(请参阅六火柴的API,其中Spotify获取歌词),所以使用它(或者吹嘘在StackOverflow上找到它)可能只会让Spotify进一步锁定他们的API,而您(不太可能,但可能)会陷入法律问题。

尽管如此,这些Bearer xxx令牌与从Spotify的官方API创建的令牌不同,找到这些令牌的最简单方法就是自动登录(可能是在浏览器中)并发出请求(这些令牌可能需要每隔几分钟/小时/天刷新一次,因此自动化是这里的关键)。我建议开始在无头浏览器上查看Puppeteer或MS剧作家,然后从那里检索Bearer令牌。如果API似乎与那些Bearer令牌断绝,那么最好在浏览器中执行来自Puppeteer本身的请求,方法是复制原始请求,并修改歌曲ID。

我知道这是多么恼人的比赛,所以我完全理解如果第二段是你要去的方式。

票数 1
EN

Stack Overflow用户

发布于 2022-11-17 13:15:32

您可以从这里使用令牌:令牌

唯一的缺点是,它没有文档化,但spclient.wg.spotify.com也是如此。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73704499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档