Google Drive Node.js - 从节点v7更新到v9后上传文件时出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google Drive Node.js - 从节点v7更新到v9后上传文件时出错相关的知识,希望对你有一定的参考价值。
我在一年前用google drive api v3编写了一个node.js脚本,我使用的是node v7。现在我决定更新到v9并更新我的所有节点模块。但后来我遇到了很多问题。
第一个问题是auth不再工作了。官方谷歌驱动器文档还没有更新自己的代码,所以我发现随机评论的解决方案。例如
const readline = require('readline'),
{ google } = require('googleapis'),
service = google.drive('v3'),
{ OAuth2Client } = require('google-auth-library'),
googleAuth = require('google-auth-library');
在我举个例子之前:
google = require('googleapis')
现在,在修复auth之后,google的quickstart文件再次运行,我能够创建我的令牌并列出我的文件等。
然后,当我从脚本到达我的上传区域时,我收到以下错误代码:
Request body larger than maxBodyLength limit
我试图谷歌它与谷歌驱动器api结合,但无法找到任何解决方案。我的代码可能已经过时了吗?因为使用节点v7和一年多前的谷歌模块,它就像一个魅力! :/
这是我的上传代码:
var fileMetadata = {
'name': together,
parents: [ foldername_folderid ]
}
var media = {
mimeType: 'application/octet-stream',
body: fs.createReadStream('C:/testarea/file.container') // <-- this is my own file format it worked before with the old google modules!
}
drive.files.create({
resource: fileMetadata,
media: media,
auth: auth,
fields: 'id'
}, function(e, file) {
if (e) {
console.log('error: ' + e)
return;
}
//.. do something when upload successfully
});
我上传的测试文件只有不到20MB,所以我认为问题与文件大小无关?如果有人对此有所了解,那就太好了!
编辑:代码正在使用一个非常小的文件,例如5MB以下..我认为谷歌改变了他们的库,他们不支持任何超过10MB的单个文件上传。我认为你必须使用chunked upload
该代码正在使用一个非常小的文件,例如5MB以下。我认为谷歌改变了他们的库,他们不再支持大于10MB的单个文件上传。我认为你必须使用chunked upload。
但是我找不到node.js ... https://developers.google.com/drive/v3/web/resumable-upload的可恢复上传的示例代码
也许有人有示例代码?我在这里为这个问题创建了一个新帖子:How to resumable upload with google drive node.js
以上是关于Google Drive Node.js - 从节点v7更新到v9后上传文件时出错的主要内容,如果未能解决你的问题,请参考以下文章
Google Drive Node.js - 从节点v7更新到v9后上传文件时出错
Google Drive API失败,因为库的google.drive功能不存在
如何在 google drive 等网页中查看 office 文件
在google drive使用google.colab云服务