Skip to content
This repository has been archived by the owner on Apr 16, 2024. It is now read-only.

希望能为返回的JSON数据增加文档 #1121

Closed
tuxzz opened this issue Feb 5, 2021 · 16 comments
Closed

希望能为返回的JSON数据增加文档 #1121

tuxzz opened this issue Feb 5, 2021 · 16 comments

Comments

@tuxzz
Copy link

tuxzz commented Feb 5, 2021

例如:song_detail返回的json中rt_urlcpmst等数据的类型和定义并不是显而易见的,希望能增加文档

@Binaryify
Copy link
Owner

不太现实,一个是接口多,返回内容也多,一个个注明工作量很大,另外网易那边也可能会调整返回字段

@tuxzz
Copy link
Author

tuxzz commented Feb 5, 2021

全部注明的确不现实,我把我用到的几个接口整理一下,回头提交到这里吧。

@tuxzz
Copy link
Author

tuxzz commented Feb 6, 2021

/weapi/v3/song/detail返回的songs列表内的对象,根据爬下来的25000首歌曲信息归纳出来的,但是依然有很多字段功能不明确

name: String, 歌曲标题
id: u64, 歌曲ID
pst: 0,功能未知
t: enum,
  0: 一般类型
  1: 通过云盘上传的音乐,网易云不存在公开对应
    如果没有权限将不可用,除了歌曲长度以外大部分信息都为null。
    可以通过 `/api/v1/playlist/manipulate/tracks` 接口添加到播放列表。
    如果添加到“我喜欢的音乐”,则仅自己可见,除了长度意外各种信息均为未知,且无法播放。
    如果添加到一般播放列表,虽然返回code 200,但是并没有效果。
    网页端打开会看到404画面。
    属于这种歌曲的例子: https://music.163.com/song/1345937107
  2: 通过云盘上传的音乐,网易云存在公开对应
    如果没有权限则只能看到信息,但无法直接获取到文件。
    可以通过 `/api/v1/playlist/manipulate/tracks` 接口添加到播放列表。
    如果添加到“我喜欢的音乐”,则仅自己可见,且无法播放。
    如果添加到一般播放列表,则自己会看到显示“云盘文件”,且云盘会多出其对应的网易云公开歌曲。其他人看到的是其对应的网易云公开歌曲。
    网页端打开会看到404画面。
    属于这种歌曲的例子: https://music.163.com/song/435005015
ar: Vec<Artist>, 歌手列表
alia: Vec<String>,
  别名列表,第一个别名会被显示作副标题
  例子: https://music.163.com/song/536623501
pop: 小数,常取[0.0, 100.0]中离散的几个数值, 表示歌曲热度
st: 0: 功能未知
rt: Option<String>, None、空白字串、或者类似`600902000007902089`的字符串,功能未知
fee: enum,
  0: 免费
  1: 2元购买单曲
  4: 购买专辑
  8: 低音质免费
v: u64, 常为[1, ?]任意数字, 功能未知
crbt: Option<String>, None或字符串表示的十六进制,功能未知
cf: Option<String>, 空白字串或者None,功能未知
al: Album, 专辑,如果是DJ节目(dj_type != 0)或者无专辑信息(single == 1),则专辑id为0
dt: u64, 功能未知
h: Option<Quality>, 高质量文件信息
m: Option<Quality>, 中质量文件信息
l: Option<Quality>, 低质量文件信息
a: Option<?>, 常为None, 功能未知
cd: Option<String>, None或如"04", "1/2", "3", "null"的字符串,表示歌曲属于专辑中第几张CD,对应音频文件的Tag
no: u32, 表示歌曲属于CD中第几曲,0表示没有这个字段,对应音频文件的Tag
rtUrl: Option<String(?)>, 常为None, 功能未知
rtUrls: Vec<String(?)>, 常为空列表, 功能未知
dj_id: u64,
  0: 不是DJ节目
  其他:是DJ节目,表示DJ ID
copyright: u32, 0, 1, 2: 功能未知
s_id: u64, 对于t == 2的歌曲,表示匹配到的公开版本歌曲ID
mark: u64, 功能未知
originCoverType: enum
  0: 未知
  1: 原曲
  2: 翻唱
originSongSimpleData: Option<SongSimpleData>, 对于翻唱曲,可选提供原曲简单格式的信息
single: enum,
  0: 有专辑信息或者是DJ节目
  1: 未知专辑
noCopyrightRcmd: Option<NoCopyrightRcmd>, None表示可以播,非空表示无版权
mv: u64, 非零表示有MV ID
rtype: 常为0,功能未知
rurl: Option<String(?)>, 常为None,功能未知
mst: u32, 偶尔为0, 常为9,功能未知
cp: u64, 功能未知
publish_time: i64, 毫秒为单位的Unix时间戳

@konglingwen94
Copy link

与其等待字段文档标注,不如自己动手丰衣足食😂

@18673661407
Copy link

来自菜鸟的提问:所以获取歌曲的信息到底是哪个接口??

@trtst
Copy link

trtst commented Feb 21, 2022

noCopyrightRcmd 这个字段不能判断该歌曲是否有版权,按照单词的字面意思,这字段应该是 没有版权其他版本的推荐。 如果该歌曲没有版权,且没有其他版本的推荐的话,值返回的是null,跟有版权的歌曲返回的值是一样的! 所以不能用该字段来判断歌曲是否有版权,例如 https://music.163.com/#/song?id=63738 这首歌是既没有版权,也没有其他版本推荐,返回的是null!

@qiqiyyyy
Copy link

I'm getting HTML data. What's going on

@AKsiteTo
Copy link

AKsiteTo commented Sep 6, 2022

当前这个接口一直很繁忙,获取不到数据

@wzk0
Copy link

wzk0 commented Oct 23, 2022

来自菜鸟的提问:所以获取歌曲的信息到底是哪个接口??

歌曲详情: /song/detail?ids=xxx

歌曲链接: /song/url/v1?id=xxx&level=xxx

@pyy-j2me
Copy link

建议装一个JSONEdit,把返回的数据粘贴到里面

@jaling530
Copy link

请问找到什么办法可以过滤无版权吗?

@a-meal-is-not-enough
Copy link

u64是什么格式啊?

@Cinvin
Copy link
Contributor

Cinvin commented Sep 30, 2023

privileges[i].toast为true表示无版权,privileges[i].st<0表示灰色歌曲
用云盘解灰的歌曲toast为true,st为0
网易云网页端的js代码里,就是用toast判断禁止评论并弹窗「由于版权保护,您所在的地区暂时无法使用。」

@YaoJunhaoya
Copy link

我现在请求的全是
/song/detail?ids=1399112638 { status: 400, body: { code: -460, message: '网络太拥挤,请稍候再试!' } }
怎么办

@enter922
Copy link

直接将数据发给chatGPT,让其解释,列如:根据提供的JSON数据,这个字段是一个音乐播放列表或歌单的信息。以下是其中一些重要的字段和它们的可能含义:

"subscribers": [] - 这是一个订阅者列表,通常包括喜欢或关注这个歌单的用户。

"subscribed": false - 表示当前用户是否已经订阅了这个歌单。在这种情况下,为false,表示当前用户尚未订阅。

"creator": {...} - 包含创建这个歌单的用户的详细信息,如昵称、头像、城市等。

"tracks": null - 这个字段通常包含歌单中的音乐曲目列表。在这里是null,可能表示这个歌单没有包含具体的曲目信息。

"subscribedCount": 1643 - 表示这个歌单的订阅数量,即有1643人订阅了这个歌单。

"createTime": 1510753699898 - 歌单的创建时间,这个时间戳表示歌单创建的时间点。

"playCount": 324007 - 歌单的播放次数,表示这个歌单被播放了324007次。

"name": "云音乐私人雷达喜欢的音乐" - 歌单的名称,这里是"云音乐私人雷达喜欢的音乐"。

"id": 1978555898 - 歌单的唯一标识符,可以用来唯一标识这个歌单。

"description": null - 歌单的描述,这里是null,可能表示这个歌单没有提供具体的描述信息。

这些字段一起提供了关于这个音乐歌单的各种信息,包括创建者、歌单名称、订阅情况、播放次数等。请注意,具体含义可能会因音乐软件的不同而有所不同,但通常包含类似的信息。

@YaoJunhaoya
Copy link

YaoJunhaoya commented Oct 29, 2023 via email

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests