我使用YouTube的谷歌V3 API:獲取所有YouTube視頻(有些視頻丟失)
$url = 'https://www.googleapis.com/youtube/v3/search?part=id&channelId=' . $channelID . '&maxResults=50&order=date&key=' . $API_key;
我已經成立了一個腳本,應該給我從給定的所有視頻頻道ID。對於某些頻道,我獲得所有視頻,有些視頻丟失了(與直接在YouTube上顯示的視頻數量相比),而對於更大的頻道,我獲得最大視頻。儘管還有更多的488個視頻的結果。
pageToken
是一件很奇怪的事情。例如,一個頻道有955個視頻。我有18頁,每頁50個項目(這將是900個視頻)。其中一些是播放列表,但如果我減去23個播放列表,我仍然有877個視頻。如果我刪除重複項,我只有488個結果! JSON輸出中的totalResults
向我顯示了975個結果!?
這是我的遞歸函數:
function fetchAllVideos($parsed_json){
$foundIds = array();
if($parsed_json != ''){
$foundIds = getVideoIds($parsed_json);
$nextPageToken = getNextPageToken($parsed_json);
$prevPageToken = getPrevPageToken($parsed_json);
if($nextPageToken != ''){
$new_parsed_json = getNextPage($nextPageToken);
$foundIds = array_merge($foundIds, fetchAllVideos($new_parsed_json));
}
if($prevPageToken != ''){
$new_parsed_json = getNextPage($prevPageToken);
$foundIds = array_merge($foundIds, fetchAllVideos($new_parsed_json));
}
}
return $foundIds;
}
我$videoIds = fetchAllVideos($parsed_json);
和$parsed_json
調用它是從我獲取第一URL的結果。你能在這裏看到一個錯誤嗎?
是否有人知道視頻數量是如何計算的,它們直接顯示在YouTube上?有沒有人設法獲得與Youtube中的號碼相對應的完整列表?
我給你upvotes,但你應該張貼最後的反正。你不知道什麼時候對某人有用。 – Random 2015-02-24 20:56:31
@Random:現在我添加了我使用的腳本。 – testing 2015-02-24 22:10:43