【问题标题】:Check Duplicate Youtube API Upload检查重复的 Youtube API 上传
【发布时间】:2012-03-29 13:19:32
【问题描述】:

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

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

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

【问题讨论】:

    标签: youtube-api


    【解决方案1】:

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

    有一个section of the documentation 描述了如何检查这类事情。对于因重复而被拒绝的视频,您将在响应中返回一个类似于 <yt:state> 的元素

    &lt;yt:state name="rejected" reasonCode="duplicate" ...&gt;...&lt;/yt:state&gt;

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

    【讨论】:

    • 知道如何使用 API 找到原始视频的 id 吗?
    • @RégisB。 B 你可以散列文件并将其保存到数据库中。然后检查相同的哈希。我也想知道如果文件哈希没有保存在数据库中!
    【解决方案2】:

    在 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 可以是以下之一:codec、conversion、emptyFile、invalidFile、tooSmall、uploadAborted 拒绝原因可以是以下之一:声明、版权、重复、不适当、合法、长度、使用条款、商标、uploaderAccountClosed、uploaderAccountSuspended

    我还没有找到方法来检索与违规视频重复的原始视频的 ID。

    查看视频对象的文档https://developers.google.com/youtube/v3/docs/videos

    【讨论】:

      猜你喜欢
      • 2016-06-04
      • 1970-01-01
      • 2015-08-01
      • 2019-08-27
      • 2019-10-24
      • 2011-04-22
      • 2016-05-22
      • 1970-01-01
      • 2013-08-29
      相关资源
      最近更新 更多