选中重复的Youtube API上传

时间:2012-03-29 13:19:32

标签: youtube-api

是否可以检查重复的YouTube上传?

当我尝试上传相同的视频时,它位于youtube的被拒绝部分,并显示状态为“重复”。

是否可以像youtube一样检查客户端本身的重复视频上传?

2 个答案:

答案 0 :(得分:2)

如果您在获得授权作为视频所有者的情况下提出检索视频条目的请求,则可以获取有关该视频的信息,包括是否被拒绝以及拒绝原因。 (未经授权的API响应中不会返回被拒绝的视频。)

有一个section of the documentation描述了如何检查这类事情。对于被视为重复的视频,您将在响应中返回<yt:state>元素,该元素看起来非常像

<yt:state name="rejected" reasonCode="duplicate" ...>...</yt:state>

在上传响应中,无法确定视频是否重复,因为YouTube在处理视频之前不知道该视频是否重复,并且在上传后进行处理完成。

答案 1 :(得分:0)

在PHP中: 假设您已经有一个服务对象。

$listResponse = $service->videos->listVideos('status', ['id' => $youtube_id]);
$video = $listResponse[0];
$status = $video->getStatus();
$uploadStatus = $status['uploadStatus'];
$failureReason = $status['failureReason'];
$rejectionReason = $status['rejectionReason'];
if ( $uploadStatus == 'rejected' && $rejectionReason == 'duplicate' ) {
  throw new Exception('Duplicate');
fi

uploadStatus可以是以下之一:删除,失败,处理,拒绝,上载

failureReason可以是以下之一:编解码器,转换,emptyFile,invalidFile,tooSmall,uploadAborted rejectReason可以是以下内容之一:索赔,版权,重复,不当,法律,长度,条款,使用条款,商标,uploaderAccountClosed,uploaderAccountSuspended

我还没有找到一种方法来检索原始视频的ID,而该原始视频的违规视频是重复的。

请参见https://developers.google.com/youtube/v3/docs/videos

中有关视频对象的文档