Google Cloud Admin SDK(Node.js)错误:请求包含无效的身份验证凭据

时间:2018-12-13 00:51:59

标签: google-cloud-functions google-admin-sdk

我有这样的情况: 有一个Firebase应用程序,该应用程序将Admin SDK与Firebase callable functionsGoogle API以及Google Drive API一起使用。 有一个文件夹包含应用程序使用Google Drive API Google Drive API上传的9个文件,但这些文件不可见!

当我与新用户共享文件夹时,“信息”面板会显示新权限也已添加到该文件夹​​内的文件中:

List of files in the folder

但是,当我尝试查看文件时-它显示黑框,并显示消息文件不可访问...,此后,我看到文件夹中生成了一个新的空文件!

未知用户-新的服务帐户,已删除的用户-已被应用程序使用(并创建了这些文件)的已删除服务帐户

Trying to view the file

New file instead

API资源管理器在文件夹中不显示任何文件(参数:“ parents”:“ folder_id”,“ fields:” *”): https://developers.google.com/drive/api/v3/reference/files/create?apix=true

尝试下载文件https://drive.google.com/a/nbmrteam.com/uc?export=download&id=file_id会返回“找不到文件)! File not found

我已经编写了脚本(Google Apps脚本),该脚本循环遍历文件夹中的所有文件,但它也看不到文件:

function getListOfFiles(folderId) {
  try { 
    Logger.log("getListOfFiles()---------------------------");
    Logger.log("folderId: " + folderId);

    var result = {
      msg: "NOT FOUND",
      files: null
    };

    var destFolder = null;
    var exists = false;  
    var fileData = [];

    if(folderId) {
      destFolder = DriveApp.getFolderById(folderId); //.getFiles()
    } else {
      destFolder = DriveApp.getRootFolder(); 
    }

    if(destFolder) {
      //if(!destFolder) return result;

      var files = destFolder.getFiles();

      while (files.hasNext()) {
        var file = files.next();

        var data = {
          name: file.getName(),
          id: file.getId(),
          url: file.getUrl(),
          isTrashed: file.isTrashed(),
          size: file.getSize()
        }

        fileData.push(data);
        Logger.log(file.getName());

        result.files = JSON.stringify(fileData);
        result.msg = "OK";
      }
    }

    return result;

  } catch (err) {
    Logger.log(err.toString());
    return err.message;
  }
}

使用新的服务帐户密钥也无济于事!

此应用程序还使用相同的服务帐户密钥(Admin SDK密钥)从电子表格中获取数据,但现在它无法识别新的访问令牌:

错误:请求的身份验证凭据无效。
Authorisation error
Error: Request had invalid authentication credentials.

接下来的问题是:如何还原由应用程序创建的文件以及如何“重置”服务帐户-使它们正常工作?

0 个答案:

没有答案