Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Google工作表转储与我的驱动器中的所有文件/URLS/所有者/最后编辑日期

Google工作表转储与我的驱动器中的所有文件/URLS/所有者/最后编辑日期
EN

Stack Overflow用户
提问于 2016-08-24 18:00:59
回答 2查看 186关注 0票数 0

好久没见了。

这是我第一次涉足DriveApp。

我的目标-获得我的驱动器+子文件夹中所有文档/电子表格的列表。包含电子表格所有者、urls和上次编辑日期(如果可能)的列表。

我已经尝试了一些变体,并且能够获得文件夹中的文件列表,但不是我的驱动器?对我来说可能是个问题。

我目前拥有的脚本是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function getfiles() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Raw");

  var files = DriveApp.getFiles();

  var rows = [[ "Owner", "Name", "Link","Last updated"]];

  while ( files.hasNext()){

    var file = files.next();

    try { 

      var owner = file.getOwner();
      var name = file.getName();
      var url = '<a href="' + file.getUrl() + '">' + file.getName() + '</a>';
      var lup = file.getLastUpdated();

      var owners = [];
      var names = [];
      var urls = [];
      var lups = [];

      for (var v=0; owner.length;v++){
        owners.push(owner[v].getName());
      }
      for (var i=0; name.length; v++){
        names.push(name[i]);
      }
      for (var k=0; url.length; k++){
        urls.push(url[k]);
      }
      for (var o=0; lup.length; o++){
        lups.push(lup[o]);
      }


  sheet.getRange(1,1,owners.length,owners[0].length).setValues(owners);
      sheet.getRange(1,2,names.length,names[0].length).setValues(names);
      sheet.getRange(1,3,urls.length,urls[0].length).setValues(urls);
      sheet.getRange(1,4,lups.length,lups[0].length).setValues(lups);




    } catch (err) { 

      Logger.log(err);
    }
  }
}

此脚本超过了最大执行时间。

老实说,我还是个新手。寻找一些指点。如果你能纠正我的错误,并告诉我我是如何/哪里出错的,我将不胜感激。或者,给我指出正确的方向。

欢迎任何建议!

克里斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-25 17:43:43

所以结果是我睡了一觉,一个新的头脑设法为我解决了这个问题。创造奇迹。

这是我的最终结果,经过大约4次修改。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  function getAllFiles() {

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test");
var arr = [["Filename", "Link", "Owner", "Last Edit Date"]];
var f = DriveApp.getFiles()
while (f.hasNext()) {
var file = f.next();
var name = file.getName()
var owner = file.getOwner().getEmail()
var lup = file.getLastUpdated()
arr.push([name, '=HYPERLINK("' + file
            .getUrl() + '"; "' + name + '")',owner,lup]);
}
sheet.getRange(1,1, arr.length, arr[0].length).setValues(arr);
}

如果其他任何人有这个特殊的需求/问题,请随时使用它。

克里斯

票数 0
EN

Stack Overflow用户

发布于 2016-08-25 13:24:48

调用sheet.setValues()方法会占用您的执行时间。你为你处理的每个文件调用它四次--这将是一个巨大的开销。相反,您应该在文件循环期间构建一个二维数组,然后在循环之后调用一次setValues()。

所以创建一个数组:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
values = [];

然后,在循环中,将电子表格的每一行作为数组本身推送到该数组中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
values.push([owner, filename, url, lastModified]);

然后,在文件循环之后,使用数组对setValues进行一次调用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sheet.getRange(1, 1, values.length - 1, 4).setValues(values);

根据你有多少个文件,这可能足以节省你的时间,并让脚本完成。如果不是这样,事情就会变得复杂...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39130116

复制
相关文章
Expected object of scalar type Float but got scalar type Double for argument
在pytorch中float32为float类型,而float64则为double类型,注意tensor的数据类型。
狼啸风云
2020/12/01
1.7K0
Expected object of scalar type Float but got scalar type Double for argument
<statement> or DELIMITER expected, got ‘id‘
一、idea mybatis错误信息 <statement> or DELIMITER expected, got ‘id’ PS:idea mybatis报错,很明显是idea配置错误,如图
全栈程序员站长
2022/11/17
3K0
<statement> or DELIMITER expected, got ‘id‘
laravel发送邮件时报Expected response code 250 but got code "530"....错误
**Expected response code 250 but got code "530"with message "530 5.7.1 Authentication required "** 首先看一下.env配置
友儿
2022/09/11
7490
TypeError: an integer is required (got type tuple)
没读到图像。 没读到图像。 没读到图像。 没读到图像。 没读到图像。 没读到图像。 没读到图像。 没读到图像。 没读到图像。 没读到图像。 没读到图像。 没读到图像。 没读到图
狼啸风云
2020/12/22
8120
TypeError: an integer is required (got type tuple)
Python OSError: [Errno 22] Invalid argument 错误解决
在爬取视频数据并保存到本地时报错:OSError: [Errno 22] Invalid argument
花猪
2022/02/16
1.5K0
ORA-00932: inconsistent datatypes: expected - got CLOB
      最近数据库从10.2.0.3升级到了10.2.0.5之后,一些对象无法编译通过。查看了这些对象主要表现在之前写法不严格的SQL语法导致了这些package无法成功编译,诸如select查询列中不能使用混淆的列名称等。另外一个比较表现突出的是返回ORA-00932: inconsistent datatypes: expected - got CLOB错误,即不一致的数据类型,获得CLOB数据类型。下面是这个问题的症状及对策。
Leshami
2018/08/13
2.4K0
vue常见错误:Invalid prop: type check failed for prop “data“. Expected Array, got Object
这个错误的意思是说:无效的命名数据:“数据”类型检查失败。期望数组,得到对象,那么我们这个时候很明白了,是类型不对,但是是哪一行的呢?打开错误信息下面的详情,这个时候找到后缀是自己页面的.vue文件,看看是哪一行,就知道问题在哪了!下面的是我的:
全栈程序员站长
2022/07/01
2.1K0
vue常见错误:Invalid prop: type check failed for prop “data“. Expected Array, got Object
TypeError: parse() got an unexpected keyword argument 'transport_encoding'
有点尴尬,自安装了ANACONDA和TensorFlow之后,首次在ANACONDA Prompt中用pip命令安装第三方库,然而 一大片刺眼的红字就扑面而来, 在ANACONDA Prompt中没
凌川江雪
2018/09/13
1.6K0
TypeError: parse() got an unexpected keyword argument 'transport_encoding'
keras报错:TypeError: softmax() got an unexpected keyword argument 'axis'
网上看到一种说法是由于tensorflow版本过低的问题,这里我的环境中tensorflow的版本是1.2.1,查看版本号的方法:终端命令查看TensorFlow版本号及路径。这种说法的解决方案当然就是升级tensorflow版本了。由于比较麻烦我没有选择这种方法。
Cloudox
2021/11/23
7720
keras报错:TypeError: softmax() got an unexpected keyword argument 'axis'
basic_consume() got multiple values for keyword argument 'queue'
今天在新的服务器上安装了一个pip install pika,然后连接mq的程序就报错了
周小董
2019/06/13
3.4K0
vue常见错误:Invalid prop: type check failed for prop "data". Expected Array, got Object
这个错误的意思是说:无效的命名数据:“数据”类型检查失败。期望数组,得到对象,那么我们这个时候很明白了,是类型不对,但是是哪一行的呢?打开错误信息下面的详情,这个时候找到后缀是自己页面的.vue文件,看看是哪一行,就知道问题在哪了!下面的是我的:
何处锦绣不灰堆
2020/05/29
34.7K0
vue常见错误:Invalid prop: type check failed for prop "data". Expected Array, got Object
[Python开发技巧]·解决Django render() got an unexpected keyword argument 'renderer'问题
当我们使用Django开发个人网站时,如果用到Ueditor,有时会遇到这个问题。
小宋是呢
2019/06/27
2.1K0
[Python开发技巧]·解决Django render() got an unexpected keyword argument 'renderer'问题
model_utils _clone() got an unexpected keyword argument 'subclasses'
发生环境 从 Django 1.11 迁移到 Django 2.2 错误日志 django.request: 2020-05-22 16:12:18,196 E:\py_virtualenv\joyoo\lib\site-packages\django\utils\log.py [line:228] ERROR Internal Server Error: /friendUrlAdd/ Traceback (most recent call last): File "E:\py_virtualenv\j
卓越笔记
2023/02/18
2180
django2.2 TypeError: render() got an unexpected keyword argument 'renderer'
从Django 1.11 迁移到 Django 2.2 后 AdminFileWidget 的 render 报错了:
卓越笔记
2023/02/18
4970
pd.MultiIndex() TypeError: __new__() got an unexpected keyword argument 'labels
可以看到pd.MultiIndex()并没有labels参数,与labels功能相同的是codes参数,查看https://pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html可以看到:
迷乐
2021/02/17
2.3K0
django_filters TypeError: __init__() got an unexpected keyword argument 'name'
django-filter 参数名字已经由 name 更改为 field_name
卓越笔记
2023/02/18
5260
mv argument list too long错误
家中领导负责的一个系统,在清理过期文件的时候,提示了个错误,是时候展示真正的技术了,
bisal
2020/02/21
2.3K0
mv argument list too long错误
[已解决]报错:ValueError: Expected 2D array, got scalar array instead
值错误:应为二维数组,而得到的是一维数组: 使用array重新调整数据的形状。如果数据有单个功能或数组,则重新调整形状(-1,1)。如果数据包含单个示例,则重新调整形状(1,-1)。
hankleo
2020/09/17
2.4K0
mybatis映射xml配置文件报错:<statement> or DELIMITER expected, got ‘id‘
编写mybatis生成的xml文件时,发现sql节点内报错。 这是IDEA的bug,发生在MyBatis的Mapper的XML文件的sql节点上,第一个字段是什么错误中最后一个单引号内部就是什么。
JavaEdge
2021/02/23
4.3K1
mybatis映射xml配置文件报错:<statement> or DELIMITER expected, got ‘id‘
Celery ValueError: not enough values to unpack (expected 3, got 0) 的解决方法(windows)
网上检索到资料 https://github.com/celery/celery/issues/4081
卓越笔记
2023/02/18
1.1K0

相似问题

按升序和降序对链表进行排序

20

按降序对向量进行排序

107

按降序(反向)对TreeMultimap进行排序

29

如何按降序对值进行排序

20

按几列对numpy进行降序排序

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文