【发布时间】:2021-11-29 09:41:48
【问题描述】:
我在网上找到了这样的代码:
<?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): ?>
<li><img src="<?php echo $item->snippet->thumbnails->default->url; ?>"> <h4><?php echo $item->snippet->title; ?></h4></li>
<?php endforeach; ?>
</ul>
代码运行良好,结果显示图像列表及其标题。
由于我希望列表也包含视频 ID(或视频 URL,如果可能),
到目前为止我已经尝试过,在<li></li> 标签之间,我添加了如下一行:
<h4><?php echo $item->id->videoId; ?></h4>
但它不起作用,因为页面结果没有拍摄视频ID。当我检查页面时,添加的<h4></h4> 标记之间没有任何内容。
如何编码才能获取视频 ID? (或者如果可能的话,可能是视频的网址)?
【问题讨论】:
-
你检查过json结构吗?它甚至有一个名为
id的对象吗? -
不会是
$item->snippet->videoId吗? -
@mulquin,我试过了,但没有显示 id。还是谢谢你。
-
@Gil,很抱歉,我不知道如何查看 json 结构。无论如何,目前我的解决方案是使用缩略图 URL,因为它包含视频 ID。像这样
$id = $item->snippet->thumbnails->default->url; $id = str_replace('https://i.ytimg.com/vi/', '', $id);。谢谢你,吉尔。
标签: php youtube-api