Vimeo是一个优秀的视频存档和分享平台,它提供了简单而完整的API集,用于控制几乎所有的功能。例如,可能需要在应用程序中自动上传视频文件,以便与某些用户共享。在这种情况下,可以在互联网上找到一些Java、C#和Python的API包装器。然而,寻找的是一个开源且非常简单的C#应用程序,但未能找到满足期望的包装器。Vimeo还提供了一个功能,允许从Dropbox账户自动拉取视频。理论上,只需要将文件复制到一个文件夹中,上传就会在专用进程中执行。缺点是它没有提供很多灵活性,例如,不能设置视频标题、描述和预览,或者在上传后执行一些操作。此外,无法确切控制视频何时上传,将依赖于Dropbox系统。对来说,一个好的解决方案是一个可以轻松从外部应用程序启动的“Vimeo命令行工具”。因此,决定创建它,以及一个简单的C#类,用于管理Vimeo API,可以轻松集成到任何应用程序中。在这里,将描述这些工具,可以下载两者的完整源代码。
要使用Vimeo HTTP API,需要在HTTP请求的授权标头中包含一个授权令牌。因此,使用命令行工具和类也需要这个令牌。要获取令牌,需要:
使用命令行工具
命令行工具vimeouploader.exe可以用来上传视频到Vimeo,并控制这项服务提供的许多其他功能。它是使用C#编译的,需要.NET Framework 4。
命令行工具的语法如下:
Vimeouploader -t=
其中,command
参数是必需的,其他参数是可选的,取决于命令值。
必须提供一个有效的授权令牌使用-t
参数,如果令牌无效,将收到以下错误:
The remote server returned an error: (401) Unauthorized
例如,可以使用以下命令获取视频列表:
Vimeouploader LV -t=
可以避免每次调用vimeouploader.exe
时都提供令牌,通过以下命令将其值保存在注册表中:
Vimeouploader ST -t=
因此,下次获取视频列表时,只需调用:
Vimeouploader LV
可用的命令包括:
-f
参数上提供一个有效的视频文件名,可以在-n
参数上指定视频名称,在-d
参数上指定视频描述。-v
参数上提供视频ID。-v
参数上提供视频ID,在-n
参数上提供视频名称,在-d
参数上提供视频描述。-v
参数上提供视频ID,在-pf
参数上提供图像路径。-v
参数上提供视频ID。-v
参数上提供视频ID。-t
参数上指定令牌。-cf
参数上指定要检查的文件夹,在-df
参数上指定要移动上传视频的文件夹。-ci
参数指定自定义检查间隔(以毫秒为单位)。
使用VimeoApiC#类 VimeoApi类是一个非常简单的类,可以在C#应用程序中使用它与Vimeo交互。只需要将文件VimeoApi.cs包含在解决方案中,并添加对Newtonsoft.Json的引用(用于解码从Vimeo API返回的Json信息)。 类构造函数接受授权令牌作为参数,如上所述获取。 VimeoApi类公开的方法包括: