我正在尝试在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]."
}
我想我错过了什么。我还在应用程序页面中收到以下可能相关的消息:
答案 0 :(得分:1)
确保在获得空体时检查状态代码。这将为您提供更多信息。
我假设您收到401状态代码,这意味着您没有使用此应用上传视频的正确身份验证。
获得上传访问权限后,请查看https://github.com/vimeo/vimeo.js/blob/master/lib/vimeo.js#L288
节点库已经支持上传,它只是没有记录,因为还没有对大文件大小进行全面测试。第一个参数是视频文件的完整路径,第二个参数是回调。
上传完成后会调用此回调,并且会有一个“Location”标头,其中包含最终视频资源的URI。