按类别ID搜索视频

时间:2016-01-28 16:42:31

标签: php youtube youtube-api

我正在使用Youtube v3 api,我使用此调用获得了所有类别ID。

$videoCategories = file_get_contents('https://www.googleapis.com/youtube/v3/videoCategories?part=snippet&regionCode=us&key=xxxx');

现在我想从美国获得前4类视频(音乐)。

什么是正确的网址语法?还有我如何使用Youtube api实例为其编写搜索数组?

示例:

$searchResponse = $youtube->search->listSearch('id,snippet', array(
    'type' => 'video',
    // 'q' => $_GET['q'],
    'location' =>  'us',
    'maxResults' => 20,
));

谢谢:)

1 个答案:

答案 0 :(得分:0)

在我实施时,这可能会有所帮助。音乐的videoCategoryID10。你可以在这里看到:

https://www.googleapis.com/youtube/v3/videoCategories?part=snippet&id=10&key= {YOUR_API_KEY} 所以你的代码最终看起来像这样:

$searchResponse = $youtube->search->listSearch('id,snippet', array(
    'q' => $_GET['q'],
    'maxResults' => $_GET['maxResults'],
    'type' => 'video',
    'videoCategoryId' => '10'
));

以下是获取完整类别列表的快捷方法:

<?php

$ids = implode(",", range(1,50));

$JSON = file_get_contents("https://www.googleapis.com/youtube/v3/videoCategories?part=snippet&id=" . $ids . "&key={YOUR-API-KEY}");
$json_data = json_decode($JSON, true);

foreach ($json_data['items'] as $category) {
    echo $category['id'] . ' = ' . $category['snippet']['title'] . '<br/>';
}

?>