检查重复的Youtube API上传



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

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

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

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

文档中有一部分描述了如何检查这类事情。对于作为复制而被拒绝的视频,您将返回<yt:state>响应中看起来近似的元素

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

作为上传响应的一部分,无法确定视频是否是重复的,因为YouTube在处理完视频之前不知道视频是否是复制的,而处理是在上传完成后进行的。

在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拒绝原因可以是以下其中一种:索赔、版权、重复、不适当、合法、长度、使用期限、商标、uploaderAccountClosed、uploader AccountSuspended

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

请参阅上的视频对象文档https://developers.google.com/youtube/v3/docs/videos

相关内容

  • 没有找到相关文章

最新更新