YouTube API - 在一段时间内计算上传次数

时间:2018-01-23 21:23:49

标签: youtube youtube-api youtube-data-api youtube-analytics-api

我管理的是一个YouTube CMS,我正在尝试计算给定月份内的上传次数。 CMS可以有多个频道,我想要上传的总数。

从文档中,我觉得这应该有效:

function videosList($service, $part, $params) {
    $params = array_filter($params);
    $response = $service->search->listSearch($part,$params);
    print_r($response);
}

videosList($youtube,"snippet",array(
    array('forContentOwner' => true),
    'type' => 'video',
    'maxResults' => 1,
    'onBehalfOfContentOwner' => $CMSID,
    'publishedBefore' => date("c",strtotime("first day of this month")),
    'publishedAfter' => date("c",strtotime("first day of last month"))            
));

但结果是在时间范围内列出所有公开视频,而不仅仅是我在$ CMSID中管理的频道中的那些视频。

供参考,API文档说:

  

forContentOwner参数将搜索限制为仅检索由onBehalfOfContentOwner参数标识的内容所有者拥有的视频。如果forContentOwner设置为true,则请求还必须满足以下要求:   onBehalfOfContentOwner参数是必需的。   授权请求的用户必须使用链接到指定内容所有者的帐户。   类型参数值必须设置为视频。   以下其他参数均无法设置:videoDefinition,videoDimension,videoDuration,videoLicense,videoEmbeddable,videoSyndicated,videoType。

1 个答案:

答案 0 :(得分:0)

如果您参考documentation,您会发现缺少可以使用forMine参数的部分。正如本SO post中讨论的那样。

  

forMine   的布尔

     

此参数只能在正确的authorized request中使用。    forMine 参数将搜索限制为仅检索视频   由经过身份验证的用户拥有。如果将此参数设置为 true ,   那么类型参数的值也必须设置为视频。在   另外,在下面没有设置以下其他参数   相同请求: videoDefinition videoDimension videoDuration ,    videoLicense videoEmbeddable videoSyndicated videoType

当您检查another SO post时,此处也引用了

  

问题在于您使用的冲突搜索限制。至   使您的搜索工作,将forMine参数保留为空   不会与您的日期过滤器和q参数冲突   同样。