以下是我的代码示例:
$httpClient = Zend_Gdata_ClientLogin::getHttpClient( $username, $password, $service, $client, $source, $loginToken, $loginCaptcha, $authenticationURL);
$httpClient->setHeaders('X-GData-Key', "key=${myDeveloperKey}");
$yt = new Zend_Gdata_YouTube($httpClient);
$myVideoEntry = new Zend_Gdata_YouTube_VideoEntry();
$filesource = $yt->newMediaFileSource($filename);
$filesource->setContentType('video/quicktime');
$filesource->setSlug($filename);
$myVideoEntry->setMediaSource($filesource);
$mediaGroup = $yt->newMediaGroup();
$mediaGroup->title = $yt->newMediaTitle()->setText(POST("title"));
$mediaGroup->description = $yt->newMediaDescription()->setText(POST("description"));
$mediaGroup->category = array(
$yt->newMediaCategory()->setText(POST("category"))->setScheme('http://gdata.youtube.com/schemas/2007/categories.cat'),
$yt->newMediaCategory()->setText('mydevelopertag')->setScheme('http://gdata.youtube.com/schemas/2007/developertags.cat')
);
$mediaGroup->keywords = $yt->newMediaKeywords()->setText(POST("tags"));
$myVideoEntry->mediaGroup = $mediaGroup;
$uploadUrl = 'http://uploads.gdata.youtube.com/feeds/users/default/uploads';
$newEntry = $yt->insertEntry($myVideoEntry, $uploadUrl, 'Zend_Gdata_YouTube_VideoEntry');
$youtube_id = $newEntry->getVideoID();
请注意,这只是代码的一个示例,以简化操作。完整的代码要复杂得多,并且经过测试可以运行。
来吧,伙计们,这可能只是一行代码。我找不到任何文件。
答案 0 :(得分:2)
本主题已有7个月的历史,看起来Zend API仍然不支持开箱即用的yt:accessControl选项。虽然有一个解决方案!检查出来,它实际上并没有那么糟糕,它对我有用。
http://gdatatips.blogspot.com/2008/12/creating-extension-elements-in-php.html http://groups.google.com/group/youtube-api-gdata/msg/2346e9c0a2cb223d/
$newVideoEntry = new Zend_Gdata_YouTube_VideoEntry();
$newVideoEntry->setVideoTitle( 'test title' );
$newVideoEntry->setVideoDescription( 'test description' );
$newVideoEntry->setVideoCategory( 'Music' );
$accessControlElement = new Zend_Gdata_App_Extension_Element('yt:accessControl', 'yt', 'http://gdata.youtube.com/schemas/2007', '');
$accessControlElement->extensionAttributes = array(array('namespaceUri' => '', 'name' => 'action', 'value' => 'comment'), array('namespaceUri' => '', 'name' => 'permission', 'value' => 'denied'));
$newVideoEntry->extensionElements = array($accessControlElement);
答案 1 :(得分:1)
Google Zend_Gdata_YouTube_VideoEntry disable comments
的Google搜索显示this:
我不确定最新的Zend客户端库版本是否已添加 对
yt:accessControl
设置的原生支持。你应该 能够手动构建基于的相关Atom XML元素 语言中立的文件:....
看起来您必须更改正在发送的原始数据。我不知道这有多难。也许它有帮助。