【问题标题】:Uploading video to YouTube using Dropbox public link?使用 Dropbox 公共链接将视频上传到 YouTube?
【发布时间】:2012-01-12 05:50:35
【问题描述】:

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

<?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 的文件不存在或不可读。

即使 URL 是直接(公共)链接,我也不知道为什么 YouTube 会抛出此错误。我没有明白我的代码有什么问题以及为什么它不工作。请帮助:)

【问题讨论】:

  • 您确实意识到单击该链接会引发 404 对吗?
  • 确保您拥有正确的链接。查看是否可以通过将浏览器指向链接来访问视频
  • @Luke and xbonez 上面的链接只是dropbox链接的一个例子。我没有在这里指定原始url。但是我在我的代码中使用了原始url
  • 有点离题,但 Blip.tv 有一个功能可以从 Dropbox 加载视频,然后自动将它们传播到各种网站,如 Youtube(以及许多其他网站)。 edit Nevermind.. 截至 12 月 1 日,Blip 中断了与 Dropbox 的连接.. [/edit]

标签: php youtube youtube-api gdata dropbox


【解决方案1】:

鉴于所提供的信息,不可能明确回答这个问题,但我们可以将其缩小到几种可能性。我建议您完成这个快速调试清单:

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

    • 如果不是,那么要么是凭据问题,要么是 URL 本身的问题。

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      在保管箱中“获取链接”给出“保管箱页面的链接”。

      试试这个。

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

      希望对你有帮助

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          猜你喜欢
          • 2014-04-10
          • 1970-01-01
          • 2011-09-09
          • 2012-04-07
          • 2016-01-27
          • 2013-09-19
          • 1970-01-01
          • 2012-11-01
          • 1970-01-01
          相关资源
          最近更新 更多