2017-10-05 167 views
0

我试图获取有关由Vimeo托管的视频的信息(来自我客户的频道,因此没有版权问题)。我使用Javascript,特别是d3.js。使用旧的API时,这种类型的URLVimeo API获取javascript请求

请求正常工作:

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,以一个简单的请求一样轻松的工作,例如使用这种类型的网址:

https://api.vimeo.com/videos?links=https://vimeo.com/123456789 

我需要做什么牛逼做什么?验证?如果是这样,怎么样?我会很感激在d3的jQuery中获得示例。

+1

您首先需要vimeo的API密钥+访问令牌。 – lshettyl

回答

2

Vimeo的API文档不是最好的,所以你必须挖掘一点,才能真正获得你需要的信息。对于您的情况,如果您仅需要从不需要用户身份验证的端点请求数据(例如根据您的用例检索视频的元数据),则无需遍历整个OAuth2循环。

首先,你需要创建一个新的应用,通过将https://developer.vimeo.com/apps

Create a new Vimeo app

您可以简单地从您的Vimeo应用页面生成下,说一节一个人访问令牌生成一个访问令牌

Generating an access token in Vimeo

请记住,此标记只会显示一次(因此在生成时会将其复制):并且必须保证其安全! The access token should be part of the Authorization header's bearer token。如果您使用的卷曲,它看起来就像这样:

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,并在发出请求之前添加秘密存储的访问令牌。这会掩盖您网站访问者的访问令牌。

+0

这很好,谢谢。文件确实有点模糊IMO。我完全同意正在曝光的令牌。这只是为了快速建立原型,我很可能会让php在最终产品中处理请求。 – GuitarExtended