我管理的是一个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。
答案 0 :(得分:0)
如果您参考documentation,您会发现缺少可以使用forMine
参数的部分。正如本SO post中讨论的那样。
forMine
的布尔强>此参数只能在正确的authorized request中使用。 forMine 参数将搜索限制为仅检索视频 由经过身份验证的用户拥有。如果将此参数设置为 true , 那么类型参数的值也必须设置为视频。在 另外,在下面没有设置以下其他参数 相同请求: videoDefinition , videoDimension , videoDuration , videoLicense , videoEmbeddable , videoSyndicated , videoType 。
当您检查another SO post时,此处也引用了
问题在于您使用的冲突搜索限制。至 使您的搜索工作,将
forMine
参数保留为空 不会与您的日期过滤器和q
参数冲突 同样。