我正在创建一个投资组合页面,用户可以上传图片或通知Youtube或Vimeo的视频网址。
当用户通知Vimeo URL时,我执行以下步骤:
1-从“vimeo.com/api/oembed.xml?url=[encoded_url”获取XML文件“
2-从文件中获取带有视频ID的“video_id”属性(例如,我可以使用“vimeo.com/ [video_id]”在浏览器中打开视频)
3-从视频ID生成嵌入视频网址,只需执行“player.vimeo.com/video/[video_id]”
4-从“vimeo.com/api/v2/video/[video_id].xml”获取XML文件
5-从文件中获取“thumbnail_medium”属性,带有视频缩略图
工作精细:
当我尝试使用视频“vimeo.com/channels/staffpicks/130537730”时,我会这样做:
1-从“vimeo.com/api/oembed.xml?url=https%3A%2F%2Fvimeo.com%2Fchannels%2Fstaffpicks%2F130537730”获取XML文件 - 确定
2-从文件中获取“video_id”属性 - 确定 - 返回“130537730”(视频“vimeo.com/130537730”工作正常)
3-从视频ID生成嵌入视频网址:“player.vimeo.com/video/130537730” - 确定 - 工作正常
4-从“vimeo.com/api/v2/video/130537730.xml”获取XML文件 - 确定
5-从文件中获取“thumbnail_medium”属性 - 确定 - 返回“i.vimeocdn.com/video/536785976_200x150.jpg”
错误(文件不存在):
如果我尝试使用带有“vimeo.com/ondemand/bendingsteel”(这是预告片)的视频,我会这样做:
1-从“vimeo.com/api/oembed.xml?url=https%3A%2F%2Fvimeo.com%2Fondemand%2Fbendingsteel”获取XML文件 - 确定
2-从文件中获取“video_id”属性 - 确定 - 返回“134429740”(视频“vimeo.com/134429740”正常工作)
3-从视频ID生成嵌入视频网址:“player.vimeo.com/video/134429740” - 确定 - 工作正常
4-从“vimeo.com/api/v2/video/134429740.xml”获取XML文件 - 错误 - 我没有收到文件
解决方法(我认为这不是一个好的选择):
来自“vimeo.com/api/oembed.xml?url=https%3A%2F%2Fvimeo.com%2Fondemand%2Fbendingsteel”的XML文件有一个“thumbnail_url”属性,它返回一个视频缩略图,我得到了“ i.vimeocdn.com/video/527925293_1280.jpg“,但我想要一个缩小图像的小图片。
根据第一个视频的缩略图,我手动将第二个视频的缩略图更改为“i.vimeocdn.com/video/527925293_200x150.jpg”并且它工作正常,但我不认为这是一个好的方法,我不知道这是否适用于所有情况。
我不知道我是否做错了,或者是否有更好的方法,或者是否因为视频是预告片而发生这种情况,但我认为这是一种奇怪的行为,因为其他一切正常。
我也尝试过视频“vimeo.com/36031564”(它不是预告片)而且工作正常,但是视频“vimeo.com/ondemand/ashestoagassiz”(这是一个预告片)发生了同样的错误,所以我认为这个错误会发生在预告片上。
我尝试使用除XML之外的其他类型,但我仍然没有得到该文件。
有什么建议吗?
答案 0 :(得分:0)
不起作用的网址(vimeo.com/api/v2/video/134429740.xml
)是已弃用的Simple API的一部分。该系统从不支持Vimeo On Demand,并且该API没有新的开发。
您最好的选择是使用新的API。