2012-01-27 305 views
0

我使用的是一個名爲'YouTube Uploader'的WordPress插件,它可以讓你從你的WordPress網站上傳YouTube視頻,它爲我工作,但唯一的問題是它上傳視頻爲公開,我需要他們上去作爲不公開或私人(將做)。如果有人可以告訴我要添加/更改哪些內容才能做到這一點,我們將不勝感激,謝謝!YouTube API將視頻上傳爲「不公開」或「私人」?

我上傳的代碼引擎收錄,因爲我不希望填補這一整個帖子的代碼,繼承人的鏈接:http://pastebin.com/GfQjhiiq

謝謝!

回答

3

我不是避讓WordPress的,但你正在尋找的是一個叫<yt:private/>

<yt:private/>標籤媒體的小孩:組這樣一個示例XML架構可能看起來像以下。 (注意<yt:private/>位於代碼塊內):

<media:group> 
    <media:title type="plain">Title here</media:title> 
    <media:description type="plain">Description here</media:description> 
    <media:category scheme="http://gdata.youtube.com/schemas/2007/categories.cat">Travel</media:category> 
    <media:keywords>keyword1</media:keywords> 
    <yt:private/> 
</media:group> 

希望這有些用處。

+0

您在xml中有一個無關的'' – Danack 2012-03-03 05:19:52

+0

此外,該類別必須是有效的現有YouTube類別,例如'Travel' – Danack 2012-03-03 05:21:02

+0

@ Danack57 - 修改了您的觀察結果 - 感謝您通知我。 – niceguydave 2012-03-13 17:31:05

3

我覺得這個方法很過時。但是有一個解決辦法,如果你要使用的純PHP API方法...

這部分開了竅:

// unlisted upload 
    $accessControlElement = new Zend_Gdata_App_Extension_Element('yt:accessControl', 'yt', 'http://gdata.youtube.com/schemas/2007', ''); 
    $accessControlElement->extensionAttributes = array(
     array(
     'namespaceUri' => '', 
     'name' => 'action', 
     'value' => 'list' 
     ), 
     array(
     'namespaceUri' => '', 
     'name' => 'permission', 
     'value' => 'denied' 
     )); 
    $myVideoEntry->extensionElements = array($accessControlElement); 

在更大的計劃:

$this->Zend->loadClass('Zend_Gdata_ClientLogin'); 
    $this->Zend->loadClass('Zend_Gdata_YouTube'); 

    $client = Zend_Gdata_ClientLogin::getHttpClient(ZEND_GDATA_CLIENT_EMAIL, ZEND_GDATA_CLIENT_PASS, 'youtube'); 
    $client->setHeaders('X-GData-Key', "key=".ZEND_GDATA_YOUTUBE_DEVELOPER_KEY); 
    $yt = new Zend_Gdata_YouTube($client); 
    $myVideoEntry = new Zend_Gdata_YouTube_VideoEntry(); 

    // unlisted upload 
    $accessControlElement = new Zend_Gdata_App_Extension_Element(
      'yt:accessControl', 'yt', 'http://gdata.youtube.com/schemas/2007', '' 
    ); 
    $accessControlElement->extensionAttributes = array(
     array(
     'namespaceUri' => '', 
     'name' => 'action', 
     'value' => 'list' 
     ), 
     array(
     'namespaceUri' => '', 
     'name' => 'permission', 
     'value' => 'denied' 
     )); 

    $myVideoEntry->extensionElements = array($accessControlElement); 

    $myVideoEntry->setVideoTitle('My Test Movie'); 
    $myVideoEntry->setVideoDescription('My Test Movie'); 
    $myVideoEntry->setVideoCategory('Sports'); 

整個要點是在這裏:https://gist.github.com/1044349

相關問題