带有类别的 Youtube api

Posted

技术标签:

【中文标题】带有类别的 Youtube api【英文标题】:Youtube api with category 【发布时间】:2013-09-22 14:53:07 【问题描述】:

我在 6 小时后尝试使用 skrypt How to get number of video views with YouTube API?

<?php
$video_ID = 'your-video-ID';
$JSON = file_get_contents("https://gdata.youtube.com/feeds/api/videos/$video_ID?v=2&alt=json");
$JSON_Data = json_decode($JSON);
$views = $JSON_Data->'entry'->'yt$statistics'->'viewCount';
echo $views;
?>

为什么它不起作用?

$JSON_Data->'entry'->'media$group'->'media$category'->'$t';

要解码的代码:

"media$category":["$t":"Entertainment","label":"Rozrywka","scheme":"http://gdata.youtube.com/schemas/2007/categories.cat"],

我认为问题出在“[”“]”处,应该是什么样子?非常感谢

【问题讨论】:

您需要帮助吗?? 【参考方案1】:

media$category 是数组格式,所以你可以使用'media$category'[0]

file_get_contents 中的代码

$video_ID = 'BM7FWtADD0s';
$url =  "https://gdata.youtube.com/feeds/api/videos/$video_ID?v=2&alt=json";
$JSON = file_get_contents("https://gdata.youtube.com/feeds/api/videos/$video_ID?v=2&alt=json");
$JSON_Data = json_decode($JSON);
$category = $JSON_Data->'entry'->'media$group'->'media$category'[0]->'$t';
echo $category;

输出:Entertainment

curl 中的代码

      $c = curl_init();
      curl_setopt_array($c, array(
        CURLOPT_URL => $url,
        CURLOPT_HTTPHEADER => array('Content-type: application/json'),
        CURLOPT_TIMEOUT => 10,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_SSL_VERIFYPEER =>false
    ));
    $json = curl_exec($c);

    curl_close($c);
    $JSON_Data = json_decode($json);
    echo "<pre>";
    print_r($JSON_Data->'entry'->'media$group'->'media$category'[0]->'$t');

输出:Entertainment

【讨论】:

以上是关于带有类别的 Youtube api的主要内容,如果未能解决你的问题,请参考以下文章

Youtube“类别过滤器无效”API 错误

循环多个 JSON 请求(YouTube 数据 API)

YouTube api v3 获取视频类别

基于Hive的YouTube电影数据分析

使用 YouTube API 播放带有开始和结束时间的 YouTube 视频

使用带有 python 的 youtube api 发布 youtube 评论,每次询问“授权此应用程序”