小编Edu*_*nte的帖子

使用 Google Drive API 和 async/await 获取文件缓冲区

我正在尝试获取一些驱动器 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)

node.js google-drive-api

2
推荐指数
1
解决办法
1366
查看次数

标签 统计

google-drive-api ×1

node.js ×1