我使用order=date
从youtube channel 成功获取了最新视频,由于api在500个结果后未返回页面,我现在想获取最早的视频。是否有参数可以完成此任务?
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'https://www.googleapis.com/youtube/v3/search?
key='.$api_key.'&channelId='.$channel_id.'&part=snippet,id&order=date&maxResults='.$limit.'&fields=*');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
最佳答案
没有记录的按逆序日期排序的方式。看到;
https://developers.google.com/youtube/v3/docs/search/list
YouTube对退回的商品设置了500个限制,因此,遗憾的是,唯一的方法是浏览500个结果并在应用程序中对其进行排序。
如果您想获得最大数量的视频,则可以使用每个可定制的订单值进行API调用,因此“订单”带有“日期”,“评分”,“相关性”,“标题”,“videoCount”,“viewCount”然后删除所有重复项。当然,仅适用于> 500个视频的 channel ,如果唯一视频的数量等于“videoCount”的值,则可以在执行此操作之前发出一个额外的API请求以获取“videoCount”,并退出该操作。它很杂乱,不能保证提取所有结果,但是给定当前的API,这是唯一的方法。
关于youtube - YouTube数据API从某个 channel 获取最早的视频,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44020287/