チャンネルで見つかった動画のリストを表示するために Google が提供する YouTube API 用の標準/サンプル コードを使用すると、無効で存在しない動画が多数返されます。これらは、オンエア ハングアウト イベントによって作成されたようです (この場合、[ブロードキャストの開始] ボタンは押されず、代わりにイベントがキャンセルされました)。
$channelsResponse = $youtube->channels->listChannels("contentDetails", array(
"私の" => "真", ));
foreach ($channelsResponse["items"] as $channel) {
$uploadsListId = $channel["contentDetails"]["relatedPlaylists"]["uploads"];
$playlistItemsResponse = $youtube->playlistItems->listPlaylistItems("snippet", array(
"playlistId" => $uploadsListId,
"maxResults" => 50
));
echo "<h3>Videos in list $uploadsListId</h3><ul>";
foreach ($playlistItemsResponse["items"] as $playlistItem) {
echo $playlistItem["snippet"]["title"] . " (" . $playlistItem["snippet"]["resourceId"]["videoId"] . ")<br>";
echo "<img src=" . $playlistItem["snippet"]["thumbnails"]["default"]["url"] . "><br>";
echo "<br><br>";
}
echo "</ul>";
}
返された無効な動画は、動画の管理で YouTube アカウントに実際にアクセスしても表示されません。彼らは幽霊のリストのようです。もちろん、実際にオンエア ハングアウトを実施すると、ビデオが YouTube にアーカイブされ、通常どおりリストに表示されます。しかし、キャンセルされたイベントが表示される原因となっているバグがあるようです...それらをファイリング、削除、または返されないようにする方法はありません。ヘルプ!!!