如何使用新的API获取Vimeo视频的缩略图

3

我正在使用PHP尝试输出嵌入在我的WordPress网站中的Vimeo视频的图像缩略图。这些Vimeo视频具有域级别隐私。

看起来Vimeo已经更新了他们的API,因为我已经尝试了几年前在其他答案中发布的建议,但是这些都没有起作用。我查看了他们的新API,似乎无法理解它。

具体而言,我尝试了这个变化的几个版本:

<?php
$imgid = 6271487;
$hash = unserialize(file_get_contents("http://vimeo.com/api/v2/video/$imgid.php"));
echo $hash[0]['thumbnail_medium'];  

这总是返回致命错误的一种形式。

如果有任何有关实现最佳方法的帮助,将不胜感激!


你能发布 print_r($hash); 的输出吗? - Danyal Sandeelo
你确定API不是在HTTPS上吗?尝试使用HTTPS。 - Danyal Sandeelo
这是使用https的print_r($hash)输出结果:"file_get_contents(https://vimeo.com/api/v2/video/276827365.php):打开流失败:HTTP请求失败!HTTP / 1.1 404未找到"。 - user108167
你尝试使用https而不是http了吗? - Danyal Sandeelo
这总是返回致命错误的形式。是什么形式? - ceejayoz
4个回答

6

为了完整性,我联系了Vimeo,他们提供了下面的内容,看起来完美无缺:

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://vimeo.com/api/oembed.json?url=https://vimeo.com/VIDEO_ID",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "Referer: REFERER_URL"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

4

有几点需要注意:首先,路径为/api/v2/video/的API已经被弃用并被"新" API所替代,后者在几年前发布。

其次:旧API只支持扩展名为.xml.json的格式,并分别返回相应的响应数据;旧API不支持.php格式。

要获取视频的缩略图,您需要使用新的API或如果视频是公开且可嵌入的,可以使用oEmbed。使用Vimeo PHP库,获取视频元数据的请求看起来像这样:

$videoId = '6271487';
$response = $client->request('/videos/'+$videoId+'/pictures', array(), 'GET');
print_r($response);

一份 oEmbed 请求看起来像这样(用 curl 表示,注意 Vimeo 的 oEmbed 实现只会返回 jsonxml):
curl -X GET 'https://vimeo.com/api/oembed.json?url=https://vimeo.com/6271487'

祝你好运!


这个API仍在工作,虽然不建议使用,但如果你只是想获取缩略图,它肯定还能正常工作。 - Joel Davey

1
如果您只需要 Vimeo 视频的默认缩略图,则只需将视频 ID 传递到此处即可。
https://vumbnail.com/YOUR_VIDEO_ID.jpg

enter image description here


-1

不是很确切,oembed是公开的。 - Urs
好的,他要求一个API解决方案。如果你想的话可以拒绝。 - johnh10

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接