我在关于YouTube API Activities list的一些问题中感到困惑 端点为我带来最多256个项目,通道有超过256个活动。
根据此频道(UC9zTuyWffK9ckEz1216noAw
)有297个视频(活动),而Endpoint返回256个活动。
示例:
答案 0 :(得分:1)
我知道这是一个旧线程,但是如果有人遇到与OP相同的问题,我想出了一个解决方案。
如OP所述,由于某种原因,Activities: list最多可以进行256个活动,甚至认为documentation中没有提及。
但是,由于Activities: list允许我们使用publishedBefore
和publishedAfter
作为参数,因此我们可以使用publishedBefore
设置为DateTime.Now()
的方法来获取视频转换为ISO 8601(YYYY-MM-DDThh:mm:ss.sZ)格式。
https://www.googleapis.com/youtube/v3/activities?part=snippet,contentDetails&maxResults=50&publishedBefore=[DateTime.Now() in ISO 8601 format]&channelId=[Channel_Id]&key=[Your_API_Key]
这将返回在指定日期之前发布的50个视频,其详细信息包括publishedAt
。然后,对于接下来的50个活动,您可以从返回的列表中获取最后一个项目,并将转换为ISO 8601的publishedAt
值作为新的publishedBefore
参数传递。然后重复此方法,直到通过检查nextPageToken
是否返回null来获得所有视频为止。
答案 1 :(得分:0)
nextPageToken string
可用作pageToken参数值的标记,用于检索结果集中的下一页。
您需要使用NextPage令牌来获取附加结果
"kind": "youtube#activityListResponse",
"etag": "\"DuHzAJ-eQIiCIp7p4ldoVcVAOeY/CDAYwe0RayreWUk1bUL79fvoRUw\"",
"nextPageToken": "CDIQAA",
"pageInfo": {
"totalResults": 108,
"resultsPerPage": 50
},
示例