1

我正在使用以下 PHP 代码从用户频道获取最新视频,

$feedURL = 'http://gdata.youtube.com/feeds/api/users/USER-ID/uploads?max-results=50'; $sxml = simplexml_load_file($feedURL);

有什么方法可以调用 Youtube API 并在单个 API 调用中从不同的用户频道获取视频。并在页面上按 desc 顺序列出视频。

4

2 回答 2

2

对不起,你的答案不是很清楚。

首先通过调用 json 格式的 api 获取上传的视频总数:

   http://gdata.youtube.com/feeds/api/users/LinusTechTips/uploads?v=2&alt=jsonc

利用:

   $json = json_decode($jsonString); 
   print($json->data->totalItems . "\n");

获得观看次数,然后您可以计算其余部分!

   $totalItems = $json->data->totalItems;
   $maxResults = 50
   $xmlResults = array();
   for($i = $maxResults > $totalItems-50; $i+$maxResults) {
          $xmlResults[] = simplexml_load_file(
             'http://gdata.youtube.com/feeds/api/users/LinusTechTips/uploads?max-results=' . $i
          );
   }

要清楚;这未经测试。所以我不确定它是否有效;但这是这样做的方法。

注意:XML 比 json 慢很多,我强烈建议你使用 json 格式!

于 2013-05-28T13:27:33.157 回答
0

您可以尝试使用用户名/ID 设置一个数组并 foreach 它们。例如:

$usernames = array(
   'xeonnnnn',
   'LinusTechTips'
);

$xmlResults = null;
foreach ($usernames as $user) {
   $xmlResults[] = simplexml_load_file(
     'http://gdata.youtube.com/feeds/api/users/' . $user .'/uploads?max-results=50'
   );
}
于 2013-05-28T12:32:26.333 回答