在YouTube的Data API v3上通过PHP直接上传到YouTube

时间:2013-07-13 21:32:26

标签: php zend-framework youtube youtube-api gdata

从我收集到的所有内容来看,今天任何现有的图书馆似乎都难以实现。我第一次直接从服务器上传视频到YouTube的尝试是使用Zend Framework 1. ZF1工作得很好但是一旦更新到ZF2并安装了ZendGData软件包,一切都变得糟透了。

显然,ZendGData不再被维护,并且因为在Zend的HTTP包中调用了不存在的方法而从根本上被打破了。 (Unresolved GitHub issue)。

所以现在我正在寻找另一种选择。我发现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出现前面提到的问题,并在Zend的Http客户端实现中调用setRawData

基本上是这样的:

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

0 个答案:

没有答案