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

use*_*167 3 php wordpress vimeo vimeo-api

我正在尝试使用 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'];  
Run Code Online (Sandbox Code Playgroud)

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

任何有关实现这一目标的最佳方法的帮助将不胜感激!

use*_*167 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;
}
Run Code Online (Sandbox Code Playgroud)