1

YouTubeのAPIからプレイリストを取得して動画を表示するこのphpコードを取得しました。問題は、リクエストごとに25本の動画しか表示できないことです。phpスクリプトに「さらに読み込む」リンクを設定して、さらに25本の動画をリクエストする方法を教えてください。ページをリロードしたり、同じページ内に追加の結果を追加したりできます。正しい方向に向ける必要があります

私のコード:

<?php
    $id = urlencode($_GET['id']);
    $url = "https://gdata.youtube.com/feeds/api/playlists/$id?alt=jsonc&v=2&start-index=1
&max-results=25";
    $content = file_get_contents($url);
    $json = json_decode($content, true);
    echo "<div id=\"info\"><center><h1><b>{$json['data']['title']}</center></b></h1><br>{$json['data']['description']} there are {$json['data']['totalItems']} uploaded in this playlist.</center><p></div><div class=\"decoration\"></div>";
    echo "<div id=\"center\">";
    echo "<ul>";
    $count = 0;
    foreach ($json['data']['items'] as $items) {
        ++$count;
        echo "<li style=\"width: 300px;min-height: auto;border: none;display: inline-block;margin: 5px;padding:10px;background-color: rgba(17,0,52,0.14);border-radius: 5px;\"><a href=\"video.php?plid={$json['data']['id']}&vidid={$items['video']['id']}\"><font size=\"5\" style=\"font-weight:bold;\">{$items['video']['title']}</font></a><Br \>";
        echo "<a href=\"video.php?plid={$json['data']['id']}&vidid={$items['video']['id']}\"><img style=\"width:300;height:auto;\" src=\"{$items['video']['thumbnail']['hqDefault']}\" title=\"{$items['video']['title']}\" id=\"ytThumb\"></img></a></li>";
    }
echo "</ul>";
echo "</div>";
?>

基本的に、start-indexパラメーターで1、2、3などをループさせたいです... Youtube API:https ://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters

ありがとう!

4

1 に答える 1

1

あなたのチューブは、あなたが実行した場合、それをmax 50使用してリクエストごとの結果のみを許可しますmax-results

$id = "UUpsSadsgX_Qk9i6i_bJoUwQ"; // for testing
$url = "https://gdata.youtube.com/feeds/api/playlists/$id?alt=jsonc&v=2&max-results=50";
$content = file_get_contents($url);
$json = json_decode($content, true);

echo "<div id=\"info\"><center><h1><b>{$json['data']['title']}</center></b></h1><br>{$json['data']['description']} there are {$json['data']['totalItems']} uploaded in this playlist.</center><p></div><div class=\"decoration\"></div>";
echo "<div id=\"center\">";
echo "<ul>";
$count = 0;
foreach ( $json['data']['items'] as $items ) {
    ++ $count;
    echo "<li style=\"width: 300px;min-height: auto;border: none;display: inline-block;margin: 5px;padding:10px;background-color: rgba(17,0,52,0.14);border-radius: 5px;\"><a href=\"video.php?plid={$json['data']['id']}&vidid={$items['video']['id']}\"><font size=\"5\" style=\"font-weight:bold;\">{$items['video']['title']}</font></a><Br \>";
    echo "<a href=\"video.php?plid={$json['data']['id']}&vidid={$items['video']['id']}\"><img style=\"width:300;height:auto;\" src=\"{$items['video']['thumbnail']['hqDefault']}\" title=\"{$items['video']['title']}\" id=\"ytThumb\"></img></a></li>";
}
echo "</ul>";
echo "</div>";


// you would get 50 results 

より多くの結果を取得するには、と の組み合わせを使用した結果のページングを使用する必要がありますstart-indexmax-results

試す

https://gdata.youtube.com/feeds/api/playlists/$id?alt=jsonc&v=2&start-index=51&max-results=50;
于 2013-03-22T22:00:57.277 に答える