我有一个 Vimeo 私人视频网址列表 (
https://player.vimeo.com/video/1234567890
),我想在我的页面上将其显示为缩略图。
我找不到可行的方法来做到这一点。
任何基于
http://vimeo.com/api/v2/video/{id}
的解决方案都早已消亡。
像这样的东西
https://i.vimeocdn.com/video/1234567890.jpg
会返回错误的图像。
有没有办法在未经授权的情况下根据视频id获取图片缩略图url?
更新
就我而言,我设法通过查询获得
thumbnail_url
GET https://vimeo.com/api/oembed.json?url=https://player.vimeo.com/video/{id}
oEmbed 可用于获取视频的缩略图链接,具体取决于视频的 隐私设置。
首先,当视频的嵌入隐私设置为“嵌入任何地方”或“仅在我选择的网站上”时,oEmbed 才会返回元数据。将隐私嵌入到“无处嵌入”的视频将返回 403。
具有这些观看隐私设置的视频将返回“完整”元数据(包括缩略图链接):
具有这些观看隐私设置的视频将仅返回嵌入代码:
oEmbed 文档可在此处找到:https://developer.vimeo.com/apis/oembed
我刚刚找到了从 Vimeo 获取元数据和私人视频的解决方案。您可以在这里查看解决方案:
使用官方 PHP 库,这段代码对我有用..
require "path_to_library"
use Vimeo\Vimeo;
$video_id = "";
$vimeo_client_id = "";
$vimeo_client_secret = "";
$vimeo_access_token = "";
$client = new Vimeo($vimeo_client_id, $vimeo_client_secret, $vimeo_access_token);
$response = $client->request("/videos/$video_id/pictures/");
echo $response['body']['data'][0]['sizes'][count($response['body']['data'][0]['sizes'])-1]['link_with_play_button'];
这将返回最大的缩略图大小,并带有播放按钮。