我正在使用youtube v3 API检索播放列表的视频,并通过此链接获得50个项目,没有任何问题:-
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet
但是视频数是100,我只有50个。我如何获得接下来的50个项目?我尝试了start index,但它不适用于v3 API。感谢任何帮助。
这是一个使用python Youtube客户端库的python小示例。它还借用了Youtube API示例中的样板设置
""" Pull All Youtube Videos from a Playlist """
from apiclient.discovery import build
from apiclient.errors import HttpError
from oauth2client.tools import argparser
DEVELOPER_KEY = "YOURKEY HERE"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
def fetch_all_youtube_videos(playlistId):
"""
Fetches a playlist of videos from youtube
We splice the results together in no particular order
Parameters:
parm1 - (string) playlistId
Returns:
playListItem Dict
"""
youtube = build(YOUTUBE_API_SERVICE_NAME,
YOUTUBE_API_VERSION,
developerKey=DEVELOPER_KEY)
res = youtube.playlistItems().list(
part="snippet",
playlistId=playlistId,
maxResults="50"
).execute()
nextPageToken = res.get('nextPageToken')
while ('nextPageToken' in res):
nextPage = youtube.playlistItems().list(
part="snippet",
playlistId=playlistId,
maxResults="50",
pageToken=nextPageToken
).execute()
res['items'] = res['items'] + nextPage['items']
if 'nextPageToken' not in nextPage:
res.pop('nextPageToken', None)
else:
nextPageToken = nextPage['nextPageToken']
return res
if __name__ == '__main__':
# comedy central playlist, has 332 video
# https://www.youtube.com/watch?v=tJDLdxYKh3k&list=PLD7nPL1U-R5rDpeH95XsK0qwJHLTS3tNT
videos = fetch_all_youtube_videos("PLD7nPL1U-R5rDpeH95XsK0qwJHLTS3tNT")
视频将是连接到第一个列表的所有视频的列表。它将继续获取,直到它拥有所有视频,因为分页为50。在其他语言中也可以采用类似的方法。
在列表中,将显示所有单独的视频元数据和顺序
有三个托克
此外,您还可以使用设置最大页面大小
max结果=50{允许值1到50}
如果你在第1页,你不会得到上一页Token
但是你得到了nextPageToken
将此令牌传递给下一个请求
pageToken={nextPageToken从上次请求获取}
这样你就可以导航到下一页试试你自己
好的,对于其他方案
如果你在首页,那么
如果你不在第一页也不在最后一页
@Manoj:你可以在下面找到你的答案
如果你在最后一页
甚至场也可能不存在。
YouTube数据API v3结果将分页。因此,您需要为其他人获得下一页的结果。
基本上在响应中你有下一个PageToken。
要获得其余结果,请执行相同的调用,但将pageToken设置为您收到的令牌。
我很困惑。据我所知,我完全遵循这些例子。也许我遗漏了一个参数,但我找不到它是什么。 控制台响应没有项目,但我有3个公共播放列表。 [Log]对象(learnadaapi.html,第68行) etag: “\”m2yskBQFythfE4irbTIeOgYYfBU/Rk41fm-2TD0VG1yv0-bkUvcBi9s\“” 项目: [] (0) 类型:“youtube#channelList响应
问题内容: “ googleapis”:“ ^ 16.1.0” 我有一个播放列表,其中有两个视频。如何获得视频ID? 我尝试了这个: 执行代码后,我收到以下消息:https : //gist.github.com/SergeyBondarenko/ea6a2aad546ded32e4a9b3cf53228fef 而且只有播放列表ID: 我在对象内部没有属性: 据我了解,该属性必须包含结果,如以下示
是否可以从webview播放youtube视频,就像我从浏览器访问youtube网站时视频开始播放时一样,它在全屏播放视频。 以下是我到目前为止的代码:
我是YouTube频道的内容所有者。当我从YouTube网页生成视频报告时,我得到的是304k总视频的结果。但是当我使用YouTube数据API使用此处讨论的方法查询如何使用API v3列出YouTube频道的所有上传视频(URL)时?,我得到的计数较少(~270k)。当我手动查找时,其中一些丢失的视频是从YouTube中删除的视频。 当我查询API时,其他视频丢失的原因可能是什么?是因为它们可能
我正在尝试从播放列表中下载所有视频: 我使用youtube-dl进行此操作,命令如下: 但这只下载第一个视频。不知道我做错了什么。
我现在一直在努力使用Youtube的API v3,但我无法让它按照我想要的方式工作。我的目标是将选定播放列表中的最新视频加载到我的网站上。问题是,在我的回答中,我只有最老的视频。 要加载播放列表,我请求以下API URI:https://www.googleapis.com/youtube/v3/playlistItems 下面是一个请求的例子(点击执行即可):http://developers