Node.js 谷歌驱动程序API说;“禁止”;获取文件时
出于某种原因,我想从google驱动器中获取文件并在服务器上处理它。我从选择器获取文件ID并将其发送到后端进行下载和处理。因此,在使用googleapis下载文件时,我遇到了这个错误 先决条件Node.js 谷歌驱动程序API说;“禁止”;获取文件时,node.js,google-drive-api,google-apis-explorer,Node.js,Google Drive Api,Google Apis Explorer,出于某种原因,我想从google驱动器中获取文件并在服务器上处理它。我从选择器获取文件ID并将其发送到后端进行下载和处理。因此,在使用googleapis下载文件时,我遇到了这个错误 先决条件 项目中已启用驱动器API 访问令牌具有驱动器的权限 我尝试过的权限 我使用的代码来自GitHub const tmpDir=path.resolve(path.join(os.tmpDir(),“用户表”); const file=path.join(tmpDir,Date.now().toStr
在这个答案中,我想有以下几点
ofMY ACCESS TOKEN
是下载文件的有效访问令牌auth:“MY ACCESS TOKEN”
的req.body.url
是不是url的文件IDfileId:req.body.url,
- 不幸的是,
不能直接用于MY ACCESS TOKEN
和google.drive()
drive.files.get()
- 在这种情况下,可以下载除Google文档文件(Google文档、Google电子表格、Google幻灯片等)以外的文件。请小心这个
字符串
@tbhaxor,谢谢您的回复。我不得不为我糟糕的英语水平道歉。不幸的是,我无法理解,但如果您看到打字,它也接受字符串。我能问一下细节吗?@tbhaxor谢谢你的回复。我很高兴你的问题解决了。
let drive = google.drive({
version: "v3",
auth: "MY ACCESS TOKEN",
});
drive.files
.get(
{
fileId: req.body.url,
alt: "media",
oauth_token: "MY ACCESS TOKEN",
},
{
responseType: "stream",
}
)
var oauth2Client = new google.auth.OAuth2();
oauth2Client.setCredentials({access_token: "MY ACCESS TOKEN"});
const drive = google.drive({
version: "v3",
auth: oauth2Client,
});
drive.files
.get(
{
fileId: req.body.url, // Please use the file ID here.
alt: "media",
},
{ responseType: "stream" }
)