【发布时间】:2020-12-04 03:58:57
【问题描述】:
我刚刚创建了一个 YouTube Music 播放列表,并将我自己上传到 YouTube Music 的歌曲添加到该播放列表中。 现在,我正在使用 YouTube API,使用完全相同的用户登录以获得正确的 oAuth 令牌。 当我为我的用户检索播放列表列表时,我能够看到这个播放列表(其中包含大量元素)。
但是当我尝试检索此播放列表中的项目时,我只能看到标题为“私人视频”和说明“此视频是私人的”的视频。所以是的,这是我自己上传的私人视频,但至少应该正确获取信息!就像我之前上传的视频/歌曲的标题。
有什么想法吗? 谢谢!
编辑: 是的,我正在使用通过 mine=true 查询的 PlaylistItems.list API 端点。 这是回应:
stdClass Object
(
[kind] => youtube#playlistItemListResponse
[etag] => sAQNugs9wcKG_EI3f71MecqShMo
[items] => Array
(
[0] => stdClass Object
(
[kind] => youtube#playlistItem
[etag] => vL-NtUyJLqmlHMnPNX-ldbXRzhs
[id] => UExGU1NIZU5WbWZUQUQyTDc0VlJxUm5meGZwN3dNZTJ2by41NkI0NEY2RDEwNTU3Q0M2
[snippet] => stdClass Object
(
[publishedAt] => 2020-08-14T08:55:20Z
[channelId] => XXXXX
[title] => Private video
[description] => This video is private.
[thumbnails] => stdClass Object
(
)
[channelTitle] => XXXXX
[playlistId] => XXXXX
[position] => 0
[resourceId] => stdClass Object
(
[kind] => youtube#video
[videoId] => XXXXX
)
)
)
)
[pageInfo] => stdClass Object
(
[totalResults] => 1
[resultsPerPage] => 50
)
)
如您所见,没有关于视频的信息。但这是我自己使用 YouTube Music 上传按钮上传的歌曲。 是的,我使用的是完全相同的用户,所以访问令牌是正确的。
如果我在 music.youtube.com 上打开这个相同的播放列表,它会显示歌曲,而在 youtube.com 上打开则没有显示任何内容(即使与相同的用户/个人资料连接)...
复制的步骤很简单:
- 访问 music.youtube.com
- 从您的设备上传歌曲
- 将此歌曲添加到播放列表中
- 尝试使用 YouTube API V3 检索此播放列表的播放列表项...
谢谢!
【问题讨论】:
-
这是什么意思当我为我的用户检索播放列表时,我能够看到这个播放列表[...]?您是否使用
mine=true查询的PlaylistItems.listAPI 端点?如果您确实将 正确 访问令牌传递给此 API 端点,那么 API 响应将(必须)包含所有信息,包括私有数据。另一方面,请发布minimal reproducible sample code 以清楚地查看(并最终测试)您的问题。
标签: youtube-api youtube-data-api