我正在尝试获取关于Vimeo主持的视频的信息(从我客户的频道,所以没有版权问题)。我用的是Javascript,特别是d3.js。
对于这种类型的url,使用旧API时,请求可以正常工作:
http://vimeo.com/api/v2/video/video_id.output例如,这在d3.js中是可行的:
d3.json("http://vimeo.com/api/v2/video/123456789.json", function(error,data){
console.log(data);
}):但是,我无法让新的API在一个简单的请求中轻松地工作,例如使用这种类型的url:
https://api.vimeo.com/videos?links=https://vimeo.com/123456789我该怎么做?认证?如果是,怎么做?如果能在jQuery of d3中找到例子,我将不胜感激。
发布于 2017-10-05 10:10:07
Vimeo的API文档并不是最好的,所以您必须仔细研究一下才能真正获得所需的信息。在您的示例中,如果您只是从不需要用户身份验证的端点(例如根据用例检索视频元数据)请求数据,则不需要遍历整个OAuth2循环。
首先,您需要创建一个新应用程序,方法是转到https://developer.vimeo.com/apps

您只需从您的Vimeo应用程序页面生成一个个人访问令牌,在该部分中,生成一个访问令牌。

请记住,此令牌仅可见一次(因此,在生成它时复制它):您必须确保它的安全性!访问令牌应该是授权头的承载令牌的一部分。如果您使用的是cURL,它将如下所示:
curl -H "Authorization: Bearer <YourPersonalAccessToken>" https://api.vimeo.com/videos/123456789因此,虽然您可以在页面上执行以下操作以检索客户端的视频元数据,但请注意,您实际上是在向世界公开您的私有令牌:
d3.json("https://api.vimeo.com/videos/123456789/")
.header("Authorization", "Bearer <YourPersonalAccessToken>")
.get(function(error, data) {
console.log(data);
});但是,我强烈建议您通过自己的服务器代理此请求,即在您的服务器上创建一个自定义端点,比如/getVimeoVideoMetadata。此API端点将接收视频ID,并在发出请求之前添加服务器上的秘密存储的访问令牌。这将掩盖您的访问令牌从您的网站访问者。
https://stackoverflow.com/questions/46582015
复制相似问题