如何从我自己的 Vimeo 帐户中通过视频 ID 检索视频 URL

How to retrieve video URLs by video ID from my own Vimeo account

我有一个带有一堆视频的 Vimeo PRO 帐户,我想要的是使用 PHP 检索 直接 link 到视频(所以它的 mp4 文件 URL 可以通过 Vimeo 网站的设置部分获得)提供视频 ID

我已经在 Vimeo 的开发者网站上创建了一个 Vimeo 应用程序,所以我拥有所有必需的凭据。但是 Vimeo 的文档是一个 噩梦 ,你最终会从 link 跳到 link 试图找到一些东西以结束你开始的地方......

我在 SO 中找到了 this 示例,但是当我按照它进行操作时,我最终碰壁了,因为它使用的 API 显然不再起作用了,所以为了找出答案如何调整它我使用当前文档,这将我带到了上面提到的漏洞。

那么,有人可以指出(或提供)一些 真实世界的代码 来实现我想要完成的目标吗?听起来应该很简单,但我无法弄清楚。我遇到的最大问题是,我看到的所有示例都是为了访问其他视频,但我想访问我的。

我一直在查看 API 的 github 页面,但我不知道如何使用我的凭据启动 API 以及如何获取视频的提供其 ID 的信息,我没有看到相关示例。

如有任何帮助,我们将不胜感激!

我们正在努力改进文档!在接下来的几个月里,他们将进行大修,以更多地基于 "feature" 而更少地基于 "api"。

与此同时,PRO 用户可以在每个 视频回复中访问他们自己的视频文件。频道中的视频列表、您的视频列表、直接视频链接等

  1. 从使用官方 PHP 库开始:https://github.com/vimeo/vimeo.php
  2. 获取您的访问令牌(通过外部 Vimeo 用户的重定向,通过您自己帐户的开发者网站)并将其放入库中
  3. 您的视频可以通过 $videos = $lib->request('/me/videos');
  4. 找到
  5. $videos['body']['data'][$array_index]['files']
  6. 找到文件信息(包含多于url)

现在我建议编写一个快速脚本并转出文件列表以帮助确定其余逻辑。请务必根据视频的尺寸选择文件,因为高清可能意味着 720 或 1080p。

我在尝试获取一些实际代码以学习如何使用新的 API 时遇到了同样的问题。

以下是如何获取视频的示例URL:

<?php

    require("includes/vimeo/autoload.php");
    use Vimeo\Vimeo;

    $client_id = 'Client Identifier';
    $client_secret = 'Client Secrets';
    $access_token = 'Token';

    $vimeo = new Vimeo($client_id, $client_secret, $access_token);
    $response = $vimeo->request("/videos/video_id");
    echo $response["body"]["link"];

?>  

从一个专辑的所有视频中制作一个列表,按字母顺序排序,每页 50 个(本例中为 2 页,83 个视频):

<?php

    require("includes/vimeo/autoload.php");
    use Vimeo\Vimeo;

    $client_id = 'Client Identifier';
    $client_secret = 'Client Secrets';
    $access_token = 'Token';

    $vimeo = new Vimeo($client_id, $client_secret, $access_token);

    /* Get the list of videos in an Album */
    $pages = 2;
    for($i = 1; $i <= $pages; $i++) {
    $format = "/me/albums/3004651/videos?per_page=50&sort=alphabetical&page=" . $i;
    $response = $vimeo->request($format);
     foreach ($response['body']['data'] as $video) {
        echo str_replace("/videos/", "", $video['uri']);
        echo "<br />";
    }
 }  

?>  

最好有更多的代码示例。希望对你有帮助。