- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试上传视频时,我收到以下错误:
2014-04-08T20:22:39.570207+00:00 app[web.1]: Error: Body attribute missing in multipart.
2014-04-08T20:22:39.570402+00:00 app[web.1]: at OAuth2Client.request (/app/node_modules/googleapis/lib/auth/oauth2client.js:224:20)
2014-04-08T20:22:39.570207+00:00 app[web.1]: at Error (<anonymous>)
2014-04-08T20:22:39.570207+00:00 app[web.1]: at /app/node_modules/request/request.js:1105:28
2014-04-08T20:22:39.570207+00:00 app[web.1]: at Array.forEach (native)
2014-04-08T20:22:39.570207+00:00 app[web.1]: at Request.multipart (/app/node_modules/request/request.js:1103:13)
2014-04-08T20:22:39.570207+00:00 app[web.1]: at Request.self._buildRequest (/app/node_modules/request/request.js:306:12)
2014-04-08T20:22:39.570207+00:00 app[web.1]: at Request.init (/app/node_modules/request/request.js:503:10)
2014-04-08T20:22:39.570207+00:00 app[web.1]: at request (/app/node_modules/request/index.js:50:11)
2014-04-08T20:22:39.570207+00:00 app[web.1]: at new Request (/app/node_modules/request/request.js:97:8)
var Video = require('./video.js');
var googleapis = require('googleapis');
app.post("/upload", function (req, res) {
//get the file name
console.log("## /upload called for file: " + JSON.stringify(req.files, undefined, 2)
+ "\n## Title: " + req.body.title
+ "\n## Description: " + req.body.description);
var filename = req.files.file.name;
var extensionAllowed = [".MOV", ".MP4", ".AVI", ".WMV"];
var maxSizeOfFile = 100000;
var msg = "";
var i = filename.lastIndexOf('.');
// get the temporary location of the file
var tmp_path = req.files.file.path;
// set where the file should actually exists - in this case it is in the "images" directory
var target_path = __dirname + '/upload/' + req.files.file.name;
var file_extension = (i < 0) ? '' : filename.substr(i);
if ((file_extension in oc(extensionAllowed)) && ((req.files.file.size / 1024) < maxSizeOfFile)) {
// handle upload to youtube
googleapis.discover('youtube', 'v3').execute(function (err, client) {
var metadata = {
snippet: {
title: req.body.title,
description: req.body.description
},
status: {
privacyStatus: 'private'
}
};
// pass auth, refresh tokens
oauth2Client.credentials = {
access_token: access_token,
refresh_token: refresh_token
}
client.youtube.videos.insert({
part: 'snippet, status'
}, metadata)
.withMedia('video/MOV', fs.readFileSync(tmp_path))
.withAuthClient(oauth2Client).execute(function (err, result) {
if (err) console.log(err);
else console.log(JSON.stringify(result, null, ' '));
// save uploaded video to db
var video = new Video({
id: result.id,
title: result.snippet.title,
description: result.snippet.description,
publishedAt: result.snippet.publishedAt,
});
video.save(function(err) {
if(err) {
console.log(err);
} else {
console.log("saved new video: ", JSON.stringify(video, null, "\t"));
// done(null, video);
};
});
// save upload video to its owner
User.findOne({ oauthID: req.user.oauthID}, function(err, user) {
if(err) { console.log(err); }
if (!err && user != null) {
user.videos.push(video);
user.save(function(err) {
if(err) {
console.log(err);
} else {
console.log("saving uploaded video to user...");
};
});
};
});
});
});
msg = "File " + JSON.stringify(req.files.file.name) + " successfully uploaded to youtube!"
} else {
// delete the temporary file, so that the explicitly set temporary upload dir does not get filled with unwanted files
fs.unlink(tmp_path, function (err) {
if (err) throw err;
});
msg = "File upload failed. File extension not allowed and size must be less than " + maxSizeOfFile;
}
res.end(msg);
});
最佳答案
我遇到了同样的错误,很可能是谷歌代码中的一个错误。
据我通过调试源代码所见,oauth 模块正在尝试刷新 token ,因此它发出了 2 个请求,而第二个请求因上述错误而失败。
有一个issue opened in github对于这个确切的问题。
关于node.js 错误 : body attribute missing in multipart when uploading to youtube,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22947688/
是否有任何解决方案来禁用右键单击选项并从 Youtube 视频中删除右下角水印 Logo ?我在搜索 GOOGLE 后尝试过。谁能告诉我? 谢谢你。 最佳答案 试试 modestbranding范围:
我想使用 YouTube API (v3) 来启用仅音乐轨道的搜索(没有猫或藤蔓或任何其他非音乐视频)。我查看了 API Explorer 和文档以获取有关该问题的任何指示,但找不到任何有用的信息。
我需要为网站使用YouTube视频缩略图的maxresdefault版本,但是在开发实现此目的的代码后,我发现并非所有视频都具有这些缩略图,尽管这些视频均为1080p。 有没有一种方法可以自动为我的所
我想通过“iframe”嵌入youtube视频,但YouTube在我国禁止使用,建议我如何在我的网站上嵌入视频! [1]:以下图片显示了在我的国家/地区无法访问youtube 最佳答案 该视频将被嵌入
我正在为myBB使用一个名为Profile Music Plugin的插件,可以在此处找到http://community.mybb.com/mods.php?action=view&pid=75 我
Youtube IFRAME API中是否有可以执行命令的功能,例如在播放的视频结尾处打开网站? (我相信有一个功能可以在旧的Java API下执行此操作,但该功能已于去年弃用。) 最佳答案 您可以引
我试图在Videos.insert和Videos.update查询中设置3d尺寸标志。但是标志不会改变。 更新查询示例: 请求: PUT https://www.googleapis.com/yout
使用此获取评论 评论主题:列表 GET https://www.googleapis.com/youtube/v3/commentThreads?part=snippet { "error": {
最近,我尝试使用OEmbed服务通过播放列表查询参数获取视频网址的iframe代码,但是OEmbed为我们提供了与我要求的视频不同的iframe代码。 这是带有播放列表查询参数的视频网址: https
我正在使用此代码: https://www.googleapis.com/youtube/v3/search?q=global+warming&part=id&maxResults=50&key=MY
我有一个LiveBroadcast,并且将来会添加一个scheduledStartTime。据我所知,这次测试不会对LiveBroadcast的整体状态产生影响,即广播是否具有准备就绪/测试的life
YouTube API是否支持在特定时间后关闭浏览器的参数? 这需要使用链接在不同位置共享来推广促销视频。视频播放结束后关闭浏览器。 最佳答案 您可以使用Youtube API监控视频是否播放完毕,然
如果没有表单上的透明面板,YouTube Player将可以正常播放视频,或者可以全屏播放视频,透明面板中有一些图像没有什么特别的。如果我取出透明面板,则YouTube播放器会按需工作,并嵌入到应用程
我正在通过Google进行身份验证,以尝试获取YouTube分析数据,但我的问题是我不知道在查询YouTube时如何向您填充参数 在这里,我正在提供一项新服务:然后尝试查询它 我不确定要在“ids”参
我想添加youtube视频列表,但不添加视频播放器。所以我需要的是 视频标题 视频缩略图 视频时长 我以某种方式设法通过使用此http://img.youtube.com/vi/4wew2uWoARw
我正在使用youtube api和python库gdata 我遵循了文档,但似乎没有出路。 问题是 - How do i get the size of the youtube video fil
使用Youtube API,我如何获得评论或顶过youtube视频的用户ID /处理列表? 提前致谢 最佳答案 在这里,您可以了解如何使用YouTube API v2(v3尚不支持此注释)获取评论:h
我正在为所有相关数据构建一个仪表板(以php为单位),我还想在YouTube“稍后观看”播放列表中显示我的商品数量。 我知道无法使用YouTube API来解决这个问题,但是也许有人想出一种解决方法?
我尝试使用YouTube API,但存在引号问题。 SearchResource.ListRequest searchListRequest = yt.Search.List("sni
我想为我的Android应用程序的用户构建视频推荐器。我有Google OAuth可以登录我的应用程序。我可以获取有关我的应用程序用户在YouTube上观看的视频的数据吗? 最佳答案 v3 API分为
我是一名优秀的程序员,十分优秀!