Zend Youtube API を使用しています。フィードのクエリを実行すると、合計 886 のエントリがあることが報告されますが、すべてのフィードを取得して反復すると、実際の数は 782 のようになります。
実際に不一致がありますか、それとも私のコードに見落としたばかげたエラーがありますか?
スニペット (debug() は便利なレポート機能です):
$query = $yt->newVideoQuery($queryUrl);
$query->setMaxResults(50); //Max allowed, to reduce API hits
$feeds = array();
try {
$feed = $yt->getVideoFeed($query);
$totalResults = $feed->getTotalResults(); //For debug
$feeds[] = $feed;
$totalFromFeeds = sizeof($feed); //For debug
while ($feed = $feed->getNextFeed()) {
$feeds[] = $feed;
$totalFromFeeds += sizeof($feed); //For debug
}
} catch (Zend_Gdata_App_Exception $e) {
debug("$e"); //For debug
//Just means no more feeds; do nothing
}
$numFeeds = sizeof($feeds); //For debug
$entries = array();
foreach ($feeds as $feed) {
foreach ($feed as $entry) {
$entries[] = $entry;
}
}
$numEntries = sizeof($entries); //For debug
debug("According to feed, [$totalResults]; sizeof entries = [$numEntries]
Num Feeds: $numFeeds; totalfromfeeds: $totalFromFeeds");
デバッグからの出力:
exception 'Zend_Gdata_App_Exception' with message 'No link to next set of results found.
According to feed, [886]; sizeof entries = [782]
Num Feeds: 16; totalfromfeeds: 782
ご指摘ありがとうございます。
クリス