YouTube 数据 API:PlaylistItem ID 有多独特?
YouTube Data API: How unique is PlaylistItem ID?
YouTube 播放列表中的视频是否有真正唯一的 ID? YouTube 提供了一个 playlistItem.id 并告诉我们这个 ID 是...
The ID that YouTube uses to uniquely identify the playlist item
我发现这个 ID 是播放列表中 PlaylistItem 位置的 ID。如果您删除播放列表中的唯一一个视频,然后将另一个视频添加到播放列表中,那么这个新视频将具有相同的 PlaylistItem.id。
关于如何伪造真实的唯一 ID 有什么建议吗?
我认为元组
<playlistId, playlistItemId, videoId>
可以作为一个全球唯一的播放列表项目 ID。当然,对于 t1 := <p1, i1, v1>
和 t2 := <p2, i2, v2>
,根据定义 t1 == t2
当且仅当:
p1 == p2
,以及
i1 == i2
,以及
v1 == v2
.
由于这种元组的每个组成部分都是一个不包含逗号的字符串,因此元组本身可以简单地表示为这三个以逗号分隔的字符串的串联。
如前所述对 ID 元组进行编码意味着组件方面的 ID 元组相等性(如上定义)平凡地变为字符串相等性。
将这样的 ID 解码为其组件也很简单。任何现代语言都有现成的标准函数来精确地完成这样的操作。例如,在 Python 中,函数是 str.split
; in PHP that is explode
.
YouTube 播放列表中的视频是否有真正唯一的 ID? YouTube 提供了一个 playlistItem.id 并告诉我们这个 ID 是...
The ID that YouTube uses to uniquely identify the playlist item
我发现这个 ID 是播放列表中 PlaylistItem 位置的 ID。如果您删除播放列表中的唯一一个视频,然后将另一个视频添加到播放列表中,那么这个新视频将具有相同的 PlaylistItem.id。
关于如何伪造真实的唯一 ID 有什么建议吗?
我认为元组
<playlistId, playlistItemId, videoId>
可以作为一个全球唯一的播放列表项目 ID。当然,对于 t1 := <p1, i1, v1>
和 t2 := <p2, i2, v2>
,根据定义 t1 == t2
当且仅当:
p1 == p2
,以及i1 == i2
,以及v1 == v2
.
由于这种元组的每个组成部分都是一个不包含逗号的字符串,因此元组本身可以简单地表示为这三个以逗号分隔的字符串的串联。
如前所述对 ID 元组进行编码意味着组件方面的 ID 元组相等性(如上定义)平凡地变为字符串相等性。
将这样的 ID 解码为其组件也很简单。任何现代语言都有现成的标准函数来精确地完成这样的操作。例如,在 Python 中,函数是 str.split
; in PHP that is explode
.