以下是我要做的事情:给定Google文档网址,我想获取文档ID以在Google云端硬盘上创建副本.我知道我可以通过一些正则表达式或替换URL来实现这一点,但由于在URL中有几种不同的表单来表示同一文档,我想找到一个通用的解决方案.
目前,这是我能想到的最好的:
function getFileIdFromUrl(url) {
try {
return getDocIdFromUrl(url);
} catch (e) {
return getSpreadsheetIdFromUrl(url);
}
}
function getDocIdFromUrl(url) {
var doc = null;
try {
doc = DocumentApp.openByUrl(url);
} catch (e) {
doc = DocumentApp.openByUrl(url + "/edit");
}
return doc.getId();
}
function getSpreadsheetIdFromUrl(url) {
var spreadsheet = null;
try {
spreadsheet = SpreadsheetApp.openByUrl(url);
} catch (e) {
spreadsheet = SpreadsheetApp.openByUrl(url + "/edit");
}
return spreadsheet.getId();
}
function copy(url) { // may throw an exception if the URL is invalid …Run Code Online (Sandbox Code Playgroud)