You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PHP使用YouTube Data API v3获取热门视频及实现搜索?

使用YouTube Data API v3在PHP中获取热门视频、高赞视频及搜索视频

前置准备

先在Google Cloud控制台创建项目,启用YouTube Data API v3,生成Server类型的API密钥(建议限制使用IP提升安全性)。


1. 获取最热门视频

调用videos.list接口,指定chart=mostPopular参数即可获取指定地区的热门视频,搭配part=snippet,statistics获取视频基础信息和数据。

PHP示例代码:

<?php
$apiKey = '你的API密钥';
$requestUrl = "https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics&chart=mostPopular&regionCode=US&maxResults=10&key=$apiKey";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $requestUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);

$result = json_decode($response, true);

if (isset($result['items'])) {
    foreach ($result['items'] as $video) {
        echo "标题:" . $video['snippet']['title'] . "<br>";
        echo "观看量:" . $video['statistics']['viewCount'] . "<br>";
        echo "视频ID:" . $video['id'] . "<br><br>";
    }
} else {
    echo "请求失败:" . $result['error']['message'];
}
?>
  • 可修改regionCode参数切换地区(如CN代表中国),maxResults调整返回数量。

2. 获取最受喜爱(点赞最多)的视频

通过search.list接口搭配order=likeCount参数,筛选点赞排序的视频。若需获取具体点赞数,需拿到视频ID后再调用videos.list接口获取statistics数据。

PHP示例代码:

<?php
$apiKey = '你的API密钥';
$requestUrl = "https://www.googleapis.com/youtube/v3/search?part=snippet&order=likeCount&type=video&regionCode=US&maxResults=10&key=$apiKey";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $requestUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);

$result = json_decode($response, true);

if (isset($result['items'])) {
    foreach ($result['items'] as $item) {
        echo "标题:" . $item['snippet']['title'] . "<br>";
        echo "视频ID:" . $item['id']['videoId'] . "<br><br>";
    }
} else {
    echo "请求失败:" . $result['error']['message'];
}
?>

3. 关键词搜索视频

使用search.list接口,通过q参数传入搜索关键词,搭配type=video限定搜索结果为视频。

PHP示例代码:

<?php
$apiKey = '你的API密钥';
$keyword = urlencode("PHP教程"); // 对关键词进行URL编码
$requestUrl = "https://www.googleapis.com/youtube/v3/search?part=snippet&q=$keyword&type=video&maxResults=10&key=$apiKey";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $requestUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);

$result = json_decode($response, true);

if (isset($result['items'])) {
    foreach ($result['items'] as $item) {
        echo "标题:" . $item['snippet']['title'] . "<br>";
        echo "视频ID:" . $item['id']['videoId'] . "<br>";
        echo "缩略图:<img src='" . $item['snippet']['thumbnails']['medium']['url'] . "'><br><br>";
    }
} else {
    echo "请求失败:" . $result['error']['message'];
}
?>
  • 可添加order参数调整排序规则(如viewCount按观看量排序、relevance按相关度排序)。

注意事项

  • YouTube Data API v3有调用配额限制,不同接口请求消耗的配额不同,需合理控制请求频次;
  • 生产环境要严格限制API密钥的使用范围(如绑定服务器IP),避免密钥泄露;
  • 若需获取更多视频维度数据,可扩展part参数(如contentDetails、status)。

内容的提问来源于stack exchange,提问作者Kherzikus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:25:29