看起来没有官方的YouTube API来查找YouTube网络列表或哪些频道是给定网络的一部分。你知道如何找到这些信息吗?
如果没有直接的方法,socialblade.com使用什么算法来获得大致的列表?
我不知道socialblade或channelmeter等网站是否就是这样获取网络频道的。但我就是这样做的。
假设我访问此视频链接:http://www.youtube.com/watch?v=_8AZT40gH5E
在联网频道的元标签信息中,有一个属性<meta name=attribution content=JamieOliver/>
(例如),它实际上指定了该频道所属的网络
$tags = get_meta_tags("http://www.youtube.com/watch?v=_8AZT40gH5E");
echo $network = $tags['attribution'];
您拥有与该频道相关联的网络。
目前似乎无法使用v3 API获取这些信息,但我相信socialblade调用networks的是内容所有者或"合作伙伴名称"。
在API响应中,如果提要条目包含yt:type属性值为partner的
<media:credit>
标记,则提要条目包含合作伙伴视频。<media:credit role='uploader' scheme='urn:youtube' yt:display='partner_name' yt:type='partner'>
合作伙伴名称</media:credit>
此处描述:https://developers.google.com/youtube/2.0/reference#Video_Feeds
可能只是将仅包含不同合作伙伴的视频的频道分配到该合作伙伴的"网络"。(或者很可能任何视频。)
编辑:由于这显然不准确,我要指出的是,分析API似乎确实有这些信息,但从描述来看,它似乎只允许在你自己的"网络"频道上进行报告。话虽如此,SocialBlade必须从某处获取有关其他网络的信息:
参与YouTube合作伙伴计划的内容所有者还可以使用API检索报告,这些报告聚合了链接到其内容所有者帐户的所有YouTube频道的分析数据。