如何通过我自己的Vimeo帐户

时间:2015-05-12 00:23:30

标签: php vimeo vimeo-api

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

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

我在SO中找到this示例但是当我按照它时,我最终到达了一堵墙,因为它使用的API显然不再起作用,所以为了找到如何适应它我使用当前的文档,这带我到上面提到的漏洞。

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

我一直在查看API的github页面,但我无法弄清楚如何使用我的凭据启动API以及如何获取提供其ID的视频信息,我没有看到一个例子。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

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

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

<?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 />";
    }
 }  

?>  

更多代码示例会很好。希望它有所帮助。

答案 1 :(得分:1)

我们正在努力改进文档!在接下来的几个月里,他们正在进行大修,以更加“特色”为基础而不是“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. 找到文件信息(包含多个网址)

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