【问题标题】:Vimeo API to fetch video with vanity url?Vimeo API 用虚 url 获取视频?
【发布时间】:2013-01-28 23:29:10
【问题描述】:

有没有人知道如何从 Vimeo 的 api 中获得如下虚/自定义 url 的响应:

http://vimeo.com/jarominne/regarde-moihttp://vimeo.com/davidfield/caterpillar

视频 ID 的标准 Api 请求不起作用。

不起作用: https://vimeo.com/api/v2/video/regarde-moi.json

作品: https://vimeo.com/api/v2/video/58086788.json

我在他们的文档中看不到任何有意义的或明确的解决方案。我不在乎语言。

【问题讨论】:

    标签: api vimeo


    【解决方案1】:

    FWIW,这是一个糟糕的 php 解决方案,我在提出这个问题后不久就想到了。

    非常欢迎改进!

    基本上,如果我们没有视频 id(一个数值),则假设我们的 id 是视频标题。使用 URL 中的用户名获取我们的用户数据并获取他们所有的视频。循环播放这些视频并尝试将标题与我们的“视频 id”(在上面的例子中实际上是视频标题)匹配。

    ** 假设 $this->id = 您的视频 ID 或视频用户名 ** 假设 $this->user = 你的 vimeo 用户名

    public $apis = array(
        'vimeo_image' => 'http://vimeo.com/api/v2/video/%s.json',
        'vimeo_user' => 'http://vimeo.com/api/v2/user/%s/videos.json'
    );
    
    public function vimeoThumbnail($size = 'small')
    {
        if(preg_match('/[0-9]+/', $this->id)) {
            $video_id = $this->id;
        } else {
            $videos = file_get_contents(sprintf($this->apis['vimeo_user'], $this->video->user));
            if($videos !== false) {
                $videos = json_decode($videos);
                foreach($videos as $video) {
                    if(stristr($video->title, $this->id)) {
                        $video_id = $video->id;
                        break;
                    }
                }
            }
        }
    
        $contents = file_get_contents(sprintf($this->apis['vimeo_image'], $video_id));
    
        if($contents !== false) {
            $contents = json_decode($contents);
    
            if(is_array($contents)) $contents = array_shift($contents);
            if(!is_object($contents)) return false;
    
            $image_url = $contents->{'thumbnail_' . $size};
    
            return $image_url;
        }
    
        return false;
    }
    

    【讨论】:

      猜你喜欢
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-03
      • 2015-03-01
      相关资源
      最近更新 更多