获取私人视频的 Vimeo 缩略图

问题描述 投票:0回答:3

我有一个 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}

vimeo vimeo-api
3个回答
7
投票

oEmbed 可用于获取视频的缩略图链接,具体取决于视频的 隐私设置

首先,当视频的嵌入隐私设置为“嵌入任何地方”“仅在我选择的网站上”时,oEmbed 才会返回元数据。将隐私嵌入到“无处嵌入”的视频将返回 403。

具有这些观看隐私设置的视频将返回“完整”元数据(包括缩略图链接):

  • 任何人
  • 仅限拥有私人链接的人(必须使用完整的视频网址)
  • 从 vimeo.com 隐藏此视频

具有这些观看隐私设置的视频将仅返回嵌入代码:

  • 仅我关注的人
  • 只有我选择的人
  • 仅限有密码的人

oEmbed 文档可在此处找到:https://developer.vimeo.com/apis/oembed


0
投票

我刚刚找到了从 Vimeo 获取元数据和私人视频的解决方案。您可以在这里查看解决方案:

VIMEO 不一致返回视频标题、持续时间或缩略图 url:远程标题?


0
投票

使用官方 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'];

这将返回最大的缩略图大小,并带有播放按钮。

© www.soinside.com 2019 - 2024. All rights reserved.