从名称中获取 Google Sheet URL
Posted
技术标签:
【中文标题】从名称中获取 Google Sheet URL【英文标题】:Getting Google Sheet URL from Name 【发布时间】:2016-09-18 06:20:15 【问题描述】:我有一个 google sheet 文件,它需要找到另一个 google sheet 的 URL,其中只知道它的名称(我需要它的 URL,以便我可以通过其他应用程序从外部检索数据)。
为了简化这一点,我将两个 g-sheets 文件保存在 Google 云端硬盘中的同一文件夹下。我知道我可以在下面的同一张表格中执行此操作,当“ss”引用另一个 google 表格文件并且我只知道它的名称时,我该怎么做。
var ss = SpreadsheetApp.getActiveSpreadsheet();
Logger.log(ss.getUrl());
理想情况下,我想通过一个单元格公式来完成,但如果我需要向“脚本编辑器”添加一个函数也可以。
【问题讨论】:
【参考方案1】:如果您有两个电子表格所在文件夹的 ID,为什么不在 folder 上运行查询并过滤掉您要查找的文件 by name.。获得该文件后,then grab it's id.。使用该 ID,您可以将其解析为 google 电子表格 URL。希望这可以帮助。
【讨论】:
【参考方案2】:我让它工作到这里从脚本编辑器运行正常:
function listFiles()
var baseFolderObject = DriveApp.getFolderById('0B38VWNq67cFHZVdWcE5KREZXS1U');
var results = [];
var types = [MimeType.GOOGLE_SHEETS]; //, MimeType.GOOGLE_DOCS];
for (var t in types)
var files = baseFolderObject.getFilesByType(types[t]);
var file, data, sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow(["Name", "Date", "Size", "URL", "Download", "Description", "Type"]);
while (files.hasNext())
var file = files.next();
results.push(file);
data = [
file.getName(),
file.getDateCreated(),
file.getSize(),
file.getUrl(),
file.getId()
];
sheet.appendRow(data);
我现在唯一的问题是,如果我想从电子表格运行它会显示“您无权调用“getFolderById”。
【讨论】:
以上是关于从名称中获取 Google Sheet URL的主要内容,如果未能解决你的问题,请参考以下文章
用于将 google drive 中的文件名列表与 google sheet 列中的名称列表进行比较的 Apps 脚本,以将新文件从驱动器添加到工作表
从 Google Sheet API v4 追加数据不再起作用