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

PHP调用YouTube Data API 获取播放列表中视频ID及URL的方法问询

问题原因

你调用的YouTube Data API v3的playlistItems接口返回结构中:

  • $item->id 是当前播放列表条目的唯一ID,并非你需要的关联视频ID
  • 关联视频ID实际存储在 $item->snippet->resourceId->videoId 路径下,用你原本的part=snippet参数就可以直接获取,不需要额外调整接口请求参数

修复方案

将你新增的代码替换为以下内容即可获取视频ID:

<h4><?php echo $item->snippet->resourceId->videoId; ?></h4>

如果需要直接输出完整播放链接,可以使用以下代码:

<h4><a href="https://www.youtube.com/watch?v=<?php echo $item->snippet->resourceId->videoId; ?>" target="_blank"><?php echo $item->snippet->title; ?></a></h4>

修改后完整可用代码参考

<?php
$api_key = "MY_API_KEY";
$playlist_id = "MY_PLAYLIST_ID";
$api_url = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=25&playlistId='. $playlist_id . '&key=' . $api_key;
      
$playlist = json_decode(file_get_contents($api_url));
?>

<ul>
<?php foreach($playlist->items AS $item): 
  $video_id = $item->snippet->resourceId->videoId;
?>
  <li>
    <img src="<?php echo $item->snippet->thumbnails->default->url; ?>">
    <h4><?php echo $item->snippet->title;  ?></h4>
    <p>视频ID:<?php echo $video_id; ?></p>
    <p>播放地址:<a href="https://www.youtube.com/watch?v=<?php echo $video_id; ?>" target="_blank">https://www.youtube.com/watch?v=<?php echo $video_id; ?></a></p>
  </li>
<?php endforeach; ?>
</ul>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:06:04