1

从我收集到的所有内容来看,这似乎在当今任何现有的图书馆中都相对难以完成。我第一次尝试将视频直接从服务器上传到 YouTube 是使用 Zend Framework 1。ZF1 运行良好,但一旦更新到 ZF2 并安装 ZendGData 包,一切都变得糟糕透顶。

显然,ZendGData 不再被维护并且从根本上被破坏了,因为它调用了 Zend 的 HTTP 包中不存在的方法。(未解决的 GitHub 问题)。

所以现在我正在寻找替代方案。我找到了google-api-php-client似乎是 YouTube Data API v3 的标准,但我看到的文档非常有限,并且只找到了如何通过浏览器而不是从服务器上传的示例。

这是我的 ZF2 代码片段:

$entry = new ZendGData\YouTube\VideoEntry();
$src = $this->youtube->newMediaFileSource($loc);
$src->setContentType('video/quicktime');
$src->setSlug($loc);
$entry->setMediaSource($src);
$entry->setVideoTitle($title);
$entry->setVideoDescription($desc);
$entry->setVideoCategory('Games');
$entry->setVideoPrivate();

try {
    $entry = $this->youtube->insertEntry($entry, self::$UPLOAD_URL, 'ZendGData\YouTube\VideoEntry');
} catch (Exception $e) {
    $m = $e->getMessage();
    return array("err" => "Error: $m");
}

一切都按计划进行,直到insertEntry前面提到的问题出现setRawData在 Zend 的 Http Client 实现中被调用。

所以本质上:

  • 将视频直接上传到 YouTube 的下一代方法是什么?
  • 如果没有简单的方法,我的 ZF2 代码是否有解决方法?
4

0 回答 0