从不是由Google Apps脚本创建的文件中获取元数据

问题描述 投票:1回答:2

我正在尝试创建一个Google Apps脚本,该脚本将获取单个文件的版本号。基本上监视文件是否已更改/打开等。我想仅通过使用drive.file API来执行此操作,以避免必须进行安全评估检查,这在使用受限访问API时是必要的(?)。

如果我直接在GAS中创建文件,但无法弄清楚如何从用户创建的文件中获取元数据,那么它就可以正常工作。

这是代码(虽然非常简单):

function myFunction() {
  var test = {
   title: 'myFile',
   "parents": [{'id':"[ID]"}], 
   mimeType: 'text/plain'
  };
  file = Drive.Files.insert(test);
  file_id = file.getId();
  i = 0;
  while (i<5) {
    Utilities.sleep(5000);
    output = Drive.Files.get(file_id).version;
    Logger.log(output);
    i += 1;
  }
}

通过以下方式在appsscript.json文件中设置API:>

{
  "timeZone": "Asia/Tokyo",
  "oauthScopes": [
    "https://www.googleapis.com/auth/drive.file",
    "https://www.googleapis.com/auth/drive.appfolder",
    "https://www.googleapis.com/auth/drive.appdata"
  ],
  "dependencies": {
    "enabledAdvancedServices": [{
      "userSymbol": "Drive",
      "serviceId": "drive",
      "version": "v2"
    }]
  },
  "exceptionLogging": "STACKDRIVER"
}

在没有完全API访问用户的Google云端硬盘的情况下,有什么方法可以获取此信息吗?非常感谢您的帮助!-法比安

我正在尝试创建一个Google Apps脚本,该脚本将获取单个文件的版本号。基本上是监视文件是否已更改/打开等。我只想通过使用drive.file ...

google-apps-script
2个回答
1
投票

您可以使用Google picker让用户选择他可以与您的项目共享的文件,而没有比问题中列出的权限更多的权限。


0
投票

您可以使用drive.metadata.readonlydrive.metadata范围。当然,您至少需要对该文件具有读取权限。

© www.soinside.com 2019 - 2024. All rights reserved.