首先,您需要在您的帐户下的 Vimeo 开发者网站上创建一个应用程序。不要太担心应用程序的站点、徽标和应用程序的返回 url。
您可以简单地输入 localhost 作为网站 url 和返回 url,然后您可以上传自己的图片作为徽标(注意图片不是必需的)。
不过,我建议您填写“描述”以最符合您的要求。
这三个要求仅适用于特定的身份验证,对于您想要做的事情不是必需的。
请确保您对以下问题回答 NO:
您会向用户收取使用您的应用的费用吗?
您的集成是否受广告支持?
并对问题回答“Web 服务器”:
什么平台将运行这个应用程序?
他们可能会询问您的应用是否需要上传访问权限。请务必回答 NO,因为请求 UPLOAD 访问权限的应用程序会经过审核。
创建令牌
进入您应用的“身份验证”标签。
基本上,我们将跳过使用回调 url 的身份验证,直接创建具有以下范围的令牌:
公共、私人
别费心复制我的令牌,我已经删除了。
创建令牌后,请确保将其复制并将其存储在服务器端某处。刷新页面后,您将无法再次获取令牌。请注意,您只使用 PUBLIC 和 PRIVATE 范围。由于您只是请求信息,这就足够了。
此外,您需要在应用的身份验证选项卡下提供的客户端标识符和客户端密码。
使用客户端 ID、客户端密码和令牌的基本身份验证。
//Where $client_id and $client_secrets are variables with your vimeo client id
//and secrets that you copied from the app you created on Vimeo.
$vimeoLib = new \Vimeo\Vimeo($client_id, $client_secrets);
//Where $token is the variable containing the token you generated earlier
$vimeoLib->setToken($token);
获取所有缩略图
Vimeo 将生成多个缩略图(大小不同)。如果您不知道视频的缩略图 ID 是什么,那么我们必须先检查所有视频数据。
我们将首先了解如何从单个视频返回的所有数据中获取缩略图。
为此,我们将使用此 API:
GET https://api.vimeo.com/videos/{video_id}
返回以下内容:
+------------------+--------------------------------------------------+
| Http Status Code | Explanation |
+------------------+--------------------------------------------------+
| 200 Ok | |
+------------------+--------------------------------------------------+
| 404 not found | If the video cannot be found. |
+------------------+--------------------------------------------------+
只要确保你知道你的 vimeo id 是什么。
//Where $vimeo_id is a variable containing your video's vimeo Id
$response = $vimeoLib->request("/me/videos/".$vimeo_id);
带有缩略图的响应将如下所示:
{
//I've replaced information regarding my videos with {SOME_DESCRIPTIVE_TEXT}
//More info here
"pictures": {
"uri": "/videos/{VIMEO_ID_HERE}/pictures/{THUMBNAIL_ID_HERE}",
"active": true,
"type": "custom",
"sizes": [
{
"width": 100,
"height": 75,
"link": "https://i.vimeocdn.com/video/{THUMBNAIL_ID_HERE}_100x75.jpg?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F{THUMBNAIL_ID_HERE}_100x75.jpg&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 200,
"height": 150,
"link": "https://i.vimeocdn.com/video/{THUMBNAIL_ID_HERE}_200x150.jpg?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F{THUMBNAIL_ID_HERE}_200x150.jpg&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 295,
"height": 166,
"link": "https://i.vimeocdn.com/video/{THUMBNAIL_ID_HERE}_295x166.jpg?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F{THUMBNAIL_ID_HERE}_295x166.jpg&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 640,
"height": 360,
"link": "https://i.vimeocdn.com/video/{THUMBNAIL_ID_HERE}_640x360.jpg?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F{THUMBNAIL_ID_HERE}_640x360.jpg&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 960,
"height": 540,
"link": "https://i.vimeocdn.com/video/{THUMBNAIL_ID_HERE}_960x540.jpg?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F{THUMBNAIL_ID_HERE}_960x540.jpg&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
},
{
"width": 1920,
"height": 1080,
"link": "https://i.vimeocdn.com/video/{THUMBNAIL_ID_HERE}_1920x1080.jpg?r=pad",
"link_with_play_button": "https://i.vimeocdn.com/filter/overlay?src0=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F{THUMBNAIL_ID_HERE}_1920x1080.jpg&src1=http%3A%2F%2Ff.vimeocdn.com%2Fp%2Fimages%2Fcrawler_play.png"
}
],
"resource_key": "{RESOURCE_KEY}"
}
//More info here
}
要检索您要查找的信息,您需要执行以下操作:
//Check to see if the request didn't fail
if($response["status"] === 200){
//Get the pictures object
$thumbnailsObject = $response["body"]["data"]["pictures"];
//Get the URI, so next time you can directly request the thumbnails instead of going through the whole video data
$thumbnailUri = $thumbnailsObject["uri"];
//Array of thumbnail links that'll be populated after loop.
$thumbnails = [];
//thumbnail without S
foreach($thumbnailsObject["sizes"] as $thumbnailObject){
$thumbnails[] = $thumbnailObject["link"];
}
//Done, do something with $thumbnails
}
仅请求缩略图:
获得 URI 后,您可以在以后的请求中调用缩略图,如下所示:
GET https://api.vimeo.com/videos/{video_id}/pictures/{picture_id}
$response = $vimeoLib->request("/me/videos/".$vimeo_id."/pictures/".$picture_id);
或使用之前的 $thumbnailUri 变量。
$response = $vimeoLib->request("/me".$thumbnailUri);