假设我在google驱动器文件夹中有200张图片,有没有办法获得每个图片的直接URL?
发布于 2015-03-24 10:53:24
是的,如果它们是公开分享的。
您可以在驱动器中看到针对任何文件的链接,右键单击并单击“获取链接”,或单击文件并单击链接图标。
该链接也可以通过sdk访问。
发布于 2015-03-24 21:34:23
如果你习惯于使用Google Scripts,这里有一个脚本,它会列出你的文件和URL。这将深入几层,以及查找您放置此文件的父文件夹中的所有文件。
要使用,请创建一个新的电子表格并添加此脚本。listFilesInFolder是您想要运行的函数。如果它给了你太多的信息,就把代码删减一下。
*这确实使用了不推荐使用的代码,但如果您只使用一次,那么这就是您的票证。
function getParentFolder() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var SSID=ss.getId();
var fileInDrive = DriveApp.getFolderById(SSID);
var folderinDrive = fileInDrive.getParents().next().getName();
return folderinDrive;
}
function listFilesInFolder() {
var parentFolder = getParentFolder();
Logger.log("Parent: " + parentFolder);
var folder = DocsList.getFolder(parentFolder);
var parentFiles = folder.getFiles();
var folders = folder.getFolders();
var file;
var allFolders;
var subFileList;
var data;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet;
sheet.clear();
sheet.appendRow(["Name", "Date Created", "URL", "Type", "Last Updated", "Parent Folder"]);
// Every file in the folder containing this file.
for (var i = 0; i < parentFiles.length; i++) {
file = parentFiles[i];
var parentName = "";
try {
var parentName = file.getParents()[0].getName();
} catch(err) {}
data = [
file.getName(),
file.getDateCreated(),
file.getUrl(),
file.getFileType(),
file.getLastUpdated(),
parentFolder
];
sheet.appendRow(data);
}
// Every subfolder in the folder containing this file.
for (var i = 0; i < folders.length; i++) {
allFolders = folders[i];
var parentName = "";
try {
var parentName = allFolders.getParents()[0].getName();
} catch(err) {}
data = [
allFolders.getName(),
allFolders.getDateCreated(),
allFolders.getUrl(),
"folder",
allFolders.getLastUpdated(),
parentName
];
sheet.appendRow(data);
}
for (var i = 0; i < folders.length; i++) {
allFolders = folders[i];
var subFiles = allFolders.getFiles();
for (var j = 0; j < 100; j++) {
subFileList = subFiles[j];
try {
data = [
subFileList.getName(),
subFileList.getDateCreated(),
subFileList.getUrl(),
subFileList.getFileType(),
subFileList.getLastUpdated(),
subFileList.getParents()[0].getName()
];
sheet.appendRow(data);
} catch(err) {
}
}
}
};
https://stackoverflow.com/questions/29224030
复制相似问题