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
运行
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
运行
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
运行
AI代码解释
复制
values = [];

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

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

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

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

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

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

https://stackoverflow.com/questions/39130116

复制
相关文章
error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”的解决方案
error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”(***.obj 中)
AIHGF
2019/02/18
5.8K0
Access不匹配查询
大家好上节介绍了重复项查询,继续介绍选择查询中的不匹配项查询,不匹配查询也是在查询向导中创建。
无言之月
2020/06/04
2K0
B+树索引使用(7)匹配列前缀,匹配值范围(十九)
上篇文章索引的代价,b+树占的空间比较大,增删改对b+树每个节点的索引排序影响也很大,时间耗费长,所以没有必要不要乱建索引,还介绍了索引的最左原则和全值查询。
用户9919783
2022/07/26
1K0
Excel公式技巧68:查找并获取所有匹配的值
在《Excel公式技巧67:按条件将数据分组标识》中,我们根据指定的条件采用数字标识将数据进行了分组。利用这列分组数据,我们能方便地查找并获取所有匹配的值。
fanjy
2020/12/08
11K0
Excel公式技巧68:查找并获取所有匹配的值
检测到“RuntimeLibrary”的不匹配项
错误是引用的是静态库,但是配置成动态库导致的,只需要修改成”多线程(/MT)“就可 这段错误的意思就是我调用的是静态库,但是我程序是dll动态,但是我这dll调用静态库就调用不成了吗? 解决方案如下
用户3519280
2023/07/08
1.3K0
SQL练习之两个列值的交换
SELECT * FROM dbo.test2 现在我们将Province列值和Company列值互换,代码如下: UPDATE test2 SET Company=Province, Provin
郑小超.
2018/01/24
3.6K0
SQL练习之两个列值的交换
偏差、方差和数据不匹配
Human-level指人类在目标问题上的error,比如人眼识别猫,人会识别错的error。
Steve Wang
2019/05/26
9170
CA2017:参数计数不匹配
值 规则 ID CA2017 类别 可靠性 修复是中断修复还是非中断修复 非中断 原因 日志记录消息模板中提供的参数数目与命名占位符的数目不匹配。 规则说明 此规则标志记录器调用的消息参数数目不正确。 如何解决冲突 将模板格式的占位符的数量与传递的参数的数目匹配。 何时禁止显示警告 不禁止显示此规则发出的警告。 另请参阅 可靠性规则
用户4268038
2022/02/20
9270
Codeigniter文件上传类型不匹配错误
Codeigniter的文件上传类方便了我们使用PHP来处理文件上传的操作,使用起来非常简单,如下:
大江小浪
2018/07/24
2.4K0
plot_importance多分类、排序不匹配、图片数值不显示
model.feature_importances_的重要性排名默认使用gain,而xgb.plot_importance默认使用weight,所以:
机器学习和大数据挖掘
2022/05/10
3.6K0
plot_importance多分类、排序不匹配、图片数值不显示
EasyCVR级联接入第三方平台,视频流ssrc值与y值不匹配如何解决?
EasyCVR平台级联功能,可以支持平台与平台之间通过国标GB28181协议进行互联互通,实现视频数据的共享与协作。平台可拓展性强、视频能力灵活、部署轻快,支持海量视频汇聚管理。在接入协议上,不仅支持国标GB28181协议、RTSP/Onvif、RTMP等标准协议,还支持HIKSDK、大华SDK、海康Ehome等厂家私有协议与SDK,可分发RTSP、RTMP、FLV、HLS、WebRTC等多种格式的视频流。
TSINGSEE青犀视频
2022/06/14
7020
为什么MySQL不建议使用NULL作为列默认值?
blog.csdn.net/qq_30549099/article/details/107395521
肉眼品世界
2021/03/09
4.8K0
为什么MySQL不建议使用NULL作为列默认值?
今天来分享一道美团高频面试题,5 分钟搞懂“为什么 MySQL 不建议使用 NULL 作为列默认值?”。
一行Java
2023/09/04
4590
为什么MySQL不建议使用NULL作为列默认值?
使用正则匹配并显示匹配的内容
最近在解析HTML文件,遇到这样的一个场景。我需要将HTML文件中data-url="xxx"中的xxx查找并显示出来。
大江小浪
2018/07/24
3.1K0
pytorch训练的维度不匹配的问题,解决办法
扩展单张图片维度 import cv2 import torch image = cv2.imread(img_path) image = torch.tensor(image) print(image.size()) img = image.view(1,
AI拉呱
2021/03/03
2.1K0
Java中解决列名不匹配的两种方式
引用它的语句使用 resultMap 属性就行了(注意我们去掉了 resultType 属性)。比如:
用户8983410
2021/10/07
1.2K0
巧用CSS属性值正则匹配选择器
这3种属性选择器是字符匹配,而非单词匹配。其中,尖角符号^、美元符号$以及星号*都是正则表达式中的特殊标识符,分别表示前匹配、后匹配和任意匹配。
张张
2020/03/11
1.9K0
巧用CSS属性值正则匹配选择器
php中时区设置(不设置则时间显示出错)
具体设置方法: 在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC,同时取消这一行代码的注释,即去掉前面的分号就可以了。     如果还不放心则在php中用以下语句进行测试:     $now = date('Y-m-d H:i:s', time());     echo $now."<br/>";
闵开慧
2018/03/30
4K0
EasyGBS告警记录显示的告警时间与实际的录像和快照时间不匹配问题排查
大家知道EasyGBS视频平台支持告警上报功能,并且能够在摄像头设备锁定异常情况时,进行自动拍照,上传至平台,平台进行统一记录,包括快照、告警时间等内容。
TSINGSEE青犀视频
2021/09/03
1.5K0
点击加载更多

相似问题

如果调度列不匹配,则SQL提供int值。

11

如果对象值不匹配,则如何显示空列

18

如何比较内部数组的值,如果值匹配则显示错误消息,如果值不匹配则显示成功消息?

21

如果不匹配,则返回sed的值

93

比较两个数组值,如果不匹配则填充

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档