我正在尝试获取一些驱动器 pdf 文件的缓冲区,以便我可以解析它并使用数据。
我已经设法使用 async/await 和一个用 promise 包装的“drive.files.list”来获取文件名和 id。现在我需要使用文件 ID 来获取缓冲区然后读取它。
我需要的函数应该返回一个承诺,我可以等待(使用 await)完成以获得缓冲区。(当我从网站响应中获取 pdf 缓冲区时,我的解析器工作正常)
function getBuffer(drive, file) {
return new Promise((resolve, reject) => {
/////Google Auth
var jwToken = new google.auth.JWT(
key.client_email,
null,
key.private_key, ["https://www.googleapis.com/auth/drive"],
null
);
jwToken.authorize((authErr) => {
if (authErr) {
return reject([false, "Auth Error: " + authErr]);
}
});
drive.files.get({
auth: jwToken,
fileId: file.id,
alt: 'media',
supportsAllDrives: true
}, function (err, res) {
if (err) {
return reject('The API returned an error: ' + err);
}; …Run Code Online (Sandbox Code Playgroud)