Spotify曲目gid的含义与获取方法技术咨询
Spotify曲目GID解析与获取方法
问题背景
我发现Spotify每首曲目都对应一个gid:比如公开曲目ID为0VtMV3IYHAu7fyZmqnGE99,但Spotify内部调用的API(如https://spclient.wg.spotify.com/metadata/4/track/1e763423ad0e4862b20f9dbfdadc2cb7)末尾的字符串就是该曲目的gid,和公开ID完全不同。想搞清楚这个gid到底是什么,以及如何获取它。
一、Spotify GID是什么
gid是Spotify内部使用的全局标识符(Global Identifier),属于底层元数据体系的核心字段:
- 和公开的曲目ID是一一对应的映射关系,一个公开ID只会对应一个
gid - 主要用于Spotify内部服务间的通信,比如客户端请求元数据、媒体流寻址、内部数据库查询等场景
- 本质是去掉连字符的128位UUID字符串,示例中的
1e763423ad0e4862b20f9dbfdadc2cb7就是典型的无连字符UUID格式
二、获取曲目GID的方法
1. 抓包监听客户端请求
用抓包工具(如Charles、Fiddler)监听Spotify客户端的网络流量:
- 播放或查看目标曲目时,客户端会发起
spclient.wg.spotify.com/metadata/4/track/[gid]格式的请求,URL末尾的字符串就是目标曲目gid - 该请求的响应JSON中也会直接包含
gid字段,可直接提取
2. 通过公开API间接转换
利用Spotify公开Web API结合映射逻辑获取:
- 调用Spotify公开Web API的获取曲目接口,传入公开曲目ID,获取包含
uri字段的元数据 - 提取
uri中的公开ID后,通过抓包总结的映射规则或第三方工具转换为gid(注:官方未公开映射逻辑,需依赖逆向结果)
3. 使用第三方工具/开源库
部分开源项目或工具已封装了ID转换逻辑:
- 比如
librespot(Spotify开源客户端实现)可以直接通过公开曲目ID获取gid spotipy的扩展插件也有类似转换功能,直接调用即可得到结果
内容的提问来源于stack exchange,提问作者mhdi
相关产品推荐
相关产品推荐

