【问题标题】:YouTube API v3 get latest video uploads for a username with PHPYouTube API v3 使用 PHP 获取用户名的最新视频上传
【发布时间】:2015-07-23 09:48:28
【问题描述】:

我正在尝试获取用户最新视频/上传的列表。我试图了解这个新的 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'];
}

【问题讨论】:

标签: php json api youtube


【解决方案1】:

使用带有forUsername 属性的通道端点(请参阅endpoint 的文档)。

GET https://www.googleapis.com/youtube/v3/channels?part=id&forUsername={USERNAME}&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.
}

【讨论】:

  • 感谢您的回复!我已经使用您的示例 URL 调整了代码,但我似乎无法回显 ID、标题等。我做错了什么?见上面的编辑
  • 谢谢!我设法稍微调整了代码以使其根据需要工作!
猜你喜欢
  • 2014-01-26
  • 2012-12-23
  • 2019-11-09
  • 2019-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-10
  • 2014-05-02
相关资源
最近更新 更多