【发布时间】:2013-12-15 19:28:36
【问题描述】:
我正在尝试理解递归 :) 好吧,特别是使用 Google 的 PHP 客户端库获取完整的 YouTube 播放列表。
这是我在课堂上名为 YTFunctions 的函数。它首先被一个有效的、经过身份验证的 YouTube_Service 对象和一个 playlistId 调用。然后,理论上它应该一遍又一遍地调用自己,只要 PlaylistItems 响应有一个 nextPageToken 然后将其附加到它的输出中,该输出应该包含播放列表中包含的所有对象(视频)。由于某种原因,它只返回一个空数组。
public static function getFullPlaylistByID($youtube, $playlistId, $pageToken) {
$params = array(
'maxResults' => 50,
'playlistId' => $playlistId,
);
if ($pageToken !== false) {
$params['pageToken'] = $pageToken;
}
$playlistResponse = $youtube->playlistItems->listPlaylistItems('snippet,contentDetails', $params);
error_log(count($playlistResponse['items']));
$playlistItems = $playlistResponse['items'];
if (isset($playlistResponse['nextPageToken'])) {
$playlistItems = array_merge($playlistItems, YTFunctions::getFullPlaylistByID($youtube,$playlistId, $playlistResponse['nextPageToken']));
} else {
}
return $playlistItems;
}
我显然在这里遗漏了一些东西,任何帮助将不胜感激。
托比亚斯·蒂佩
【问题讨论】:
标签: php youtube youtube-api google-api-php-client