我正在尝试获取用户最新视频/上传的列表.我试图了解这个新的v3 API,但我找不到任何正常运行的
PHP代码示例,甚至在专用的YouTube API网站上也没有.
我有一个YouTube用户名列表,我只想简单地获取一个包含视频ID,标题,缩略图URL等的最新视频列表.基本上是在foreach循环中.
有什么建议?
我有以下代码,我需要通过实际的YouTube用户名使其工作.
$url = 'https://www.googleapis.com/youtube/v3/channels?part=id&forUsername=ferrariworld&key=ZZZZZZZZ';
$json = json_decode(file_get_contents($url), true);
foreach ($json as $item){
echo $item[0]['id'];
echo $item[0]['title'];
}
最佳答案 将channels端点与forUsername属性一起使用(请参阅
endpoint的文档).
获取https://www.googleapis.com/youtube/v3/channels?part=id\u0026amp;forUsername={USERNAME}\u0026amp;key={YOUR_API_KEY}
它会给你这样的回应:
{
"kind": "youtube#channelListResponse",
"etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/7Q8DJLb6b2hwYAXUQLI3ftt3R8U\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 5
},
"items": [
{
"kind": "youtube#channel",
"etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/pDjr9xPn51KtRM3gbMOq2aHBIbY\"",
"id": "UCr3LuetcEeidWiuhxaw4B2g"
}
]
}
如果将JSON转换为数组,则可以在items [0] [‘id’]中找到该用户的通道ID.
至于编辑,您正在错误地访问JSON对象.你需要使用这样的东西.
if (array_key_exists('items', $json) && count($json['items']) === 1) {
$item = $json['items'][0];
$channelId = $item['id']; // The users channel ID.
}