2013-04-10 49 views
1

你应该能够做到这一点,通过这样的事情:您是否可以通过PHP 3.0 API为CreativeCommons设置YouTube视频的许可证?

$snippet = new Google_VideoSnippet(); 
$snippet->setTitle("some title"); 
$snippet->setDescription("some description); 
... 

$status = new Google_VideoStatus(); 
$status->setPrivacyStatus("public"); 
$status->setLicense("creativeCommon"); 

$video = new Google_Video(); 
$video->setSnippet($snippet); 
$video->setStatus($status); 

等。是的,你会认为setLicense的价值是“creativeCommons”,但它不是(https://developers.google.com/youtube/v3/docs/videos#resource)。使用“creativeCommons”或“youtube”和“creativeCommon”以外的任何内容会导致“(500)错误请求”响应。

但是真正的问题是,无论如何,一旦视频到达YouTube(正在进行),无论我是否指定了“youtube”或“creativeCommon”,我都会获得YouTube许可。所以:这应该是工作/我做错了/有什么想法吗?

+0

我注意到了同样的问题。 setPrivacyStatus()似乎工作正常,但setLicense(),setEmbeddable()和setPublicStatsViewable()不。该API指示当使用part =“status”时,所有4应该可用。似乎没有任何进一步的讨论或任何解释。有谁知道让它工作的诀窍? – 2014-01-09 21:17:40

回答

0

不知道这是否对除(几年后)之外的任何人有所帮助,似乎可以使用javascript版本的api(v3)将licencetype设置为creativeCommon。

UploadVideo.prototype.uploadFile = function(file) { 
    var metadata = { 
     status: { 
      privacyStatus: $('#privacy-status option:selected').text(), 
      license: "creativeCommon" 
     } 
    }; 
相关问题