【发布时间】:2015-03-18 06:52:23
【问题描述】:
我用来自 vimeo 的视频建立了一个网站。我想在我的网站上显示这些视频的缩略图,但通常是 API access won't help。 这些视频是私人的,只能在this site 访问 我怎样才能得到这些缩略图? 谢谢
【问题讨论】:
-
我尝试使用来自 here 的 C# API,但没有成功。
标签: api thumbnails vimeo
我用来自 vimeo 的视频建立了一个网站。我想在我的网站上显示这些视频的缩略图,但通常是 API access won't help。 这些视频是私人的,只能在this site 访问 我怎样才能得到这些缩略图? 谢谢
【问题讨论】:
标签: api thumbnails vimeo
您链接的 API 是旧的、已弃用的 API。新的 API (developer.vimeo.com/api) 将为您提供所需的所有信息。
您可以在入门页面了解更多信息:https://developer.vimeo.com/api/start
获得令牌后,您可以从直接视频端点 (https://api.vimeo.com/videos/{video_id}) 或视频集合(例如视频的 https://api.vimeo.com/me/videos 或 https://api.vimeo.com/channels/{channel_id }/videos 用于频道的视频)
【讨论】:
这是一个具有大、中、小图像选项的类。
namespace VimeoWrapper
{
public enum ThumbnailSize { Large, Medium, Small };
public enum VimeoErrors { NotFound, SizeNotExist, NetError }
public static class VimeoHelper
{
public static string GetVideoThumbnail(string videoid, ThumbnailSize tns = ThumbnailSize.Large)
{
string query = String.Format("https://api.vimeo.com/me/videos/{0}", videoid);
string accessToken = "Token from API";
WebClient wc = new WebClient();
wc.Headers.Add("Authorization", "bearer " + accessToken);
string result;
try
{
result = wc.DownloadString(query);
}
catch (System.Net.WebException e)
{
return VimeoErrors.NotFound.ToString();
}
try
{
dynamic jsonResult = JValue.Parse(result);
switch (tns)
{
case ThumbnailSize.Large:
return jsonResult.pictures.sizes[5].link;
case ThumbnailSize.Medium:
return jsonResult.pictures.sizes[3].link;
case ThumbnailSize.Small:
return jsonResult.pictures.sizes[1].link;
}
}
catch (JsonReaderException e)
{
return VimeoErrors.SizeNotExist.ToString();
}
catch (Exception e)
{
return VimeoErrors.NetError.ToString();
}
return VimeoErrors.NetError.ToString();
}
}
}
【讨论】: