如何使用 pageToken?
How do I use pageToken?
我正在开发一个简单的程序,这是我第一次使用 Youtube API。我想从任何视频中获取所有评论,但没有“pageToken”我做不到,有人告诉我。我似乎无法理解它的作用或如何使用它。我正在使用 node.js v13.
遵循此文档:https://developers.google.com/youtube/v3/quickstart/nodejs
它会回答你所有的问题。
Top-Level 评论和相关回复
根据官方文档,有两个 API 端点可供使用 w.r.t。阅读附加到任何给定视频的评论——由其 ID 标识:
任何给定视频的评论的结构使得 return 上方的第一个端点是 分页集 of top-level comments (i.e. CommentThreads
resource) when invoked with parameter videoId
设置为 videoId=VIDEO_ID
,其中 VIDEO_ID
是您感兴趣的视频的 ID。
上面的第二个API端点用于获取所有分页集合comment replies (i.e. Comments
resource) attached to any given top-level comment, by specifying to its parameter parentId
各自top-level的ID评论。
请注意,根据文档,即使 CommentThreads
资源在其 属性 replies
中包含评论回复列表,该列表 也不完整。这就是为什么需要将 CommentThreads.list
端点与 Comments.list
端点结合使用的原因。
属性nextPageToken
和参数pageToken
现在,如上所述,API returns 套 CommentThreads
和 Comments
资源。这些集合是分页的,因为每个 API 调用将 return(按设计)不超过 50 个这样的项目。
因此,要通过 CommentThreads.list
API 端点获取给定视频的所有 CommentThreads
资源,必须实施 pagination。同样的道理w.r.t。 Comments.list
API 端点,用于获取任何给定 top-level 评论的所有 Comments
资源。
分页的含义简单来说就是:要获取分页结果集的第n
页,其中n >= 2
,需要提取[=101]的值=] nextPageToken
来自第 n-1
页,例如 PAGE_TOKEN
,并将该值传递给第 n
-th API 调用 URL 到参数 pageToken
作为 pageToken=PAGE_TOKEN
。如果给定页面不包含 属性 nextPageToken
,则分页已结束。
API 设计限制
根据official Google staff statements,对CommentThreads.list
端点的结果集分页得到的item数量是有限的。
没有指定限制,因此需要考虑到,在某些情况下,将无法获得 all top-level 个评论给出的视频。这是不幸的,但却是事实。
我正在开发一个简单的程序,这是我第一次使用 Youtube API。我想从任何视频中获取所有评论,但没有“pageToken”我做不到,有人告诉我。我似乎无法理解它的作用或如何使用它。我正在使用 node.js v13.
遵循此文档:https://developers.google.com/youtube/v3/quickstart/nodejs 它会回答你所有的问题。
Top-Level 评论和相关回复
根据官方文档,有两个 API 端点可供使用 w.r.t。阅读附加到任何给定视频的评论——由其 ID 标识:
任何给定视频的评论的结构使得 return 上方的第一个端点是 分页集 of top-level comments (i.e. CommentThreads
resource) when invoked with parameter videoId
设置为 videoId=VIDEO_ID
,其中 VIDEO_ID
是您感兴趣的视频的 ID。
上面的第二个API端点用于获取所有分页集合comment replies (i.e. Comments
resource) attached to any given top-level comment, by specifying to its parameter parentId
各自top-level的ID评论。
请注意,根据文档,即使 CommentThreads
资源在其 属性 replies
中包含评论回复列表,该列表 也不完整。这就是为什么需要将 CommentThreads.list
端点与 Comments.list
端点结合使用的原因。
属性nextPageToken
和参数pageToken
现在,如上所述,API returns 套 CommentThreads
和 Comments
资源。这些集合是分页的,因为每个 API 调用将 return(按设计)不超过 50 个这样的项目。
因此,要通过 CommentThreads.list
API 端点获取给定视频的所有 CommentThreads
资源,必须实施 pagination。同样的道理w.r.t。 Comments.list
API 端点,用于获取任何给定 top-level 评论的所有 Comments
资源。
分页的含义简单来说就是:要获取分页结果集的第n
页,其中n >= 2
,需要提取[=101]的值=] nextPageToken
来自第 n-1
页,例如 PAGE_TOKEN
,并将该值传递给第 n
-th API 调用 URL 到参数 pageToken
作为 pageToken=PAGE_TOKEN
。如果给定页面不包含 属性 nextPageToken
,则分页已结束。
API 设计限制
根据official Google staff statements,对CommentThreads.list
端点的结果集分页得到的item数量是有限的。
没有指定限制,因此需要考虑到,在某些情况下,将无法获得 all top-level 个评论给出的视频。这是不幸的,但却是事实。