我无法找到让youtube不在Feed中返回重复视频的方法。 我目前正在使用API v1,我知道v2和v3也是我应该移动的地方。我正在使用ZF 1及其Gdata库,如果对我想要做的事情有API级别的支持,那就不重要了。
但是我无法在这两个版本中看到解决方案。
Heres发生了什么事。 出于某种原因,服务器代码偶尔会并行上传重复的视频。 Youtube会检测到该内容,然后它似乎会将Feed上的视频列为重复内容并且不会播放。
https://gdata.youtube.com/feeds/api/users/username/uploads/?max-results=50
所以我从该用户帐户中获得了50个视频。无论如何告诉youtube,不要返回重复的视频。
我的意思是,它似乎显然不对吗?
有没有人知道过滤Feed中的重复项? 我查看返回的数据,并且没有任何状态或任何其他信息的迹象,这些信息将为我提供一种方法来判断剪辑是否重复。
希望有人知道解决方案。
干杯!
答案 0 :(得分:0)
在V2和V3中,您都获得了“拒绝”状态。你有没有检查过这可能是在V1?
答案 1 :(得分:0)
好的,所以我把它解决了,结果是你可以在饲料中查询的州财产。请参阅下面的代码,了解如何检查状态,如果被拒绝则忽略它。
Damn Zend Framework v1这类文件几乎不存在。
$applicationId = 'App ID';
$clientId = 'Client ID';
$youtubeDeveloperKey = 'Developer Key';
$token = unserialize($gdata_oauth_access_token);
$httpClient = $token->getHttpClient($this->_oauthOptions);
$yt = new Zend_Gdata_YouTube($httpClient, $applicationId, $clientId, $youtubeDeveloperKey);
$url = 'https://gdata.youtube.com/feeds/api/users/' . $youtube_user_name . '/uploads/?max-results=50';
$videoFeed = $yt->getVideoFeed($url);
// process the feed
foreach ($videoFeed as $videoEntry) {
$state = $videoEntry->getVideoState();
if (is_object($state) && $state->name == 'rejected') {
// skip this video
continue;
}
}