使用Dropbox公共链接将视频上传到YouTube?

时间:2011-12-03 16:48:22

标签: php youtube youtube-api gdata dropbox

我正在使用youtube ZEND gdata api 将视频上传到我的YouTube帐户。但现在我需要将视频上传到YouTube,这些视频存储在我的DropBox帐户中。我有公共链接或直接链接视频文件。我正在使用的代码是:

<?php

require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata_YouTube');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_App_Exception');

$developerKey = '******************';
$applicationId = '*********';
$clientId = '';

  $video_title = 'test movie';
  $video_description = 'test movie';
  $video_category = 'Entertainment';
  $video_tags = 'test,movie';
  $path_of_uploaded_file = 'http://dl.dropbox.com/uhh/336/test.wmv';



$authenticationURL= 'https://www.google.com/youtube/accounts/ClientLogin';
$httpClient = Zend_Gdata_ClientLogin::getHttpClient(
              $username = '*****',
              $password = '*****',
              $service = 'youtube',
              $client = null,
              $source = '*******', // a short string identifying your application
              $loginToken = null,
              $loginCaptcha = null,
              $authenticationURL);

$yt = new Zend_Gdata_YouTube($httpClient, $applicationId, $clientId, $developerKey);

$yt = new Zend_Gdata_YouTube($httpClient);

// create a new VideoEntry object
$myVideoEntry = new Zend_Gdata_YouTube_VideoEntry();

// create a new Zend_Gdata_App_MediaFileSource object
$filesource = $yt->newMediaFileSource($path_of_uploaded_file);

..
.
.
.
.
.?>

我得到的错误是:要在http://dl.dropbox.com/uhh/336/test.wmv上传的文件不存在或无法读取。

即使网址是直接(公共)链接,我也不知道为什么YouTube会抛出此错误。我没有弄清楚我的代码有什么问题以及为什么它不起作用。请帮助:)

4 个答案:

答案 0 :(得分:0)

根据所提供的信息,最终无法回答这个问题,但我们可以将其缩小到几个可能性。我建议您使用这个快速调试清单:

  • 如果您使用相同的凭据将该确切链接复制/粘贴到您的网络浏览器中,您是否可以下载该视频?

    • 如果没有,那么凭证或网址本身就会出现问题。

    • 如果您能够从浏览器下载,则表示您的代码存在问题或YouTube存在问题。

如果您执行上述步骤但仍处于僵局,请将结果发布为评论,我们会深入研究。

答案 1 :(得分:0)

您上传到YouTube的文件必须位于本地路径上。

  1. 使用cURL
  2. 在本地下载文件
  3. 将newMediaFileSource设置为本地文件的路径

答案 2 :(得分:0)

在Dropbox中,“获取链接”会显示“保管箱页面的链接”。

试试这个。

  1. 在Dropbox上打开视频页面。
  2. 右键单击“下载”,然后“复制链接位置”
  3. 希望这有帮助

答案 3 :(得分:0)

为了防止其他人仍在寻找答案,我在使用我从Dropbox写的应用程序读取txt文件时遇到了类似的问题。我发现我没有使用正确的直接链接格式。正确的链接(对于此线程示例链接)将是:

dl.dropboxusercontent.com/uhh/336/test.wmv

将'www'更改为'dl'将适用于网络浏览器,因为它们会自动处理重定向。对于应用程序和脚本,您必须集成重定向处理。或者只是正确格式化直接链接。