使用node-js vimeo-api上传视频

时间:2014-04-02 10:09:11

标签: node.js vimeo-api

我正在尝试在Node.js中设置一个用户应用程序,它将使用vimeo-api(https://github.com/vimeo/vimeo.js)将视频上传到我的应用程序

我正在关注指南(https://developer.vimeo.com/api/upload),但它似乎无法发挥作用。

我有以下代码:

    var Vimeo = require('vimeo-api').Vimeo;
    var lib = new Vimeo(MY_CLIENT_ID, MY_CLIENT_SECRET);
    lib.access_token = "<OAUTH_TOKEN>";

我试过了:

    lib.request({path: "/me", method: "GET"}, function (error, body, status_code, headers) {console.log(body);})

收到:

    {
      uri: '/users/26512824',
      name: 'Dipankar',
      link: 'https://vimeo.com/user26512824',
      ...
      account: 'basic',
      pictures: ... ,
      websites: [],
      stats: {},
      metadata: ... ,
      content_filter: [ 'language', 'drugs', 'violence', 'nudity', 'safe', 'unrated' ]
    }

当我尝试关注上传票时:

    lib.request({path: "/me/videos", method: "POST"}, function (error, body, status_code, headers) {console.log(body);})

我明白了:

    null

此外,我尝试通过cURL来验证步骤

    curl --data "" -H "Authorization: bearer <OAUTH_TOKEN>" https://api.vimeo.com/me/videos

响应是:

    {
      "error": "The app is not allowed to perform that action. [Missing permission to upload to owner]."
    }

我想我错过了什么。我还在应用程序页面中收到以下可能相关的消息:

enter image description here

1 个答案:

答案 0 :(得分:1)

确保在获得空体时检查状态代码。这将为您提供更多信息。

我假设您收到401状态代码,这意味着您没有使用此应用上传视频的正确身份验证。

获得上传访问权限后,请查看https://github.com/vimeo/vimeo.js/blob/master/lib/vimeo.js#L288

节点库已经支持上传,它只是没有记录,因为还没有对大文件大小进行全面测试。第一个参数是视频文件的完整路径,第二个参数是回调。

上传完成后会调用此回调,并且会有一个“Location”标头,其中包含最终视频资源的URI。