我在Google云端硬盘中创建了一个文件夹,例如测试,并在其中放入3个文件
a.jpg, b.jpg, c.jpg
我希望在同一帐户下的Google电子表格中访问这些文件,例如生成图像文件的链接,有可能吗?
e.g。
ColA ColB
a.jpg [generate link to a.jpg in drive]
a.jpg [generate link to b.jpg in drive]
a.jpg [generate link to c.jpg in drive]
答案 0 :(得分:2)
是的,可能。谷歌为“谷歌驱动器上的主机网站”提供详细说明。 基本上首先将文件夹共享为public,从其url复制文件夹id并创建一个新url googledrive.com/host/folderid/a.jpg
答案 1 :(得分:2)
使用GScripts,您可以使用以下功能来创建/修改文件:
这个创建一个新的电子表格,其中包含所有文件夹名称和所有相应的URL(无标题)
function mapAllFiles() {
var values = [];
var folders = DriveApp.getFoldersByName("FOLDER_NAME");
while (folders.hasNext()) {
var folder = folders.next();
var files = folder.getFiles();
// Looping over all files in all folders with the given name
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
var fileInfo = [file.getName(), file.getDownloadUrl()];
Logger.log(fileInfo);
values.push(fileInfo);
// values.push(file.getDownloadUrl());
}
}
// To use an exiting spreadsheet
// var sFile = DriveApp.getFilesByName("YOUR_SPREADSHEET_NAME");
// var as = SpreadsheetApp.openById(sFile.next().getId());
// Create a new spreadsheet
var as = SpreadsheetApp.create("YOUR_SPREADSHEET_NAME");
var sheet = as.getActiveSheet();
// Fill in all values
var range = sheet.getRange(1, 1, values.length, 2).setValues(values);
}
这个列出了电子表格中给定fileNames的URL,这些URL存在于文件夹
中function mapListedFiles() {
var values = [];
var folders = DriveApp.getFoldersByName("FOLDER_NAME");
if (folders.hasNext()) {
var folder = folders.next();
var sFile = DriveApp.getFilesByName("YOUR_SPREADSHEET_NAME");
var as = SpreadsheetApp.openById(sFile.next().getId());
// var as = SpreadsheetApp.create("YOUR_SPREADSHEET_NAME");
var sheet = as.getActiveSheet();
var range = sheet.getRange(2,1,sheet.getDataRange().getLastRow(), 1).getValues();
for (var i = 0; i < range.length-1; i++) {
var files = folder.getFilesByName(range[i]);
Logger.log(files);
if (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
Logger.log(file.getDownloadUrl());
values.push([file.getDownloadUrl()]);
} else {
values.push(["MISSING"]);
}
}
var range = sheet.getRange(2, 2, values.length, 1).setValues(values);
}
}
答案 2 :(得分:1)
这是一种主要的方法(没有编程)。稍后,您可以以任何方式自动执行此过程。
过滤文件夹中的所有文件:在“q”字段中输入字符串:
'0B6eKcFRCDRT2NjRGbDYxODlTMFE' in parents and trashed = False
其中0B6eKcFRCDRT2NjRGbDYxODlTMFE
是图片所在文件夹的文档ID(您可以在Google云端硬盘网页界面导航到该文件夹时在网址中查看此标识符)。
提取您需要的字段:在“字段”字段中输入字符串:
items(alternateLink,title)
获取JSON格式的响应向下滚动,然后在方括号(包括它们)之间复制"items":
之后的响应片段,例如:
[
{
"alternateLink": "https://...",
"title": "Links to files"
},
{
"alternateLink": "https://...",
"title": "shanghai.jpg"
},
{
"alternateLink": "https://...",
"title": "map.JPG"
},
{
"alternateLink": "https://...",
"title": "London_2008.jpg"
},
{
"alternateLink": "https://...",
"title": "graph.png"
},
{
"alternateLink": "https://...",
"title": "chart_1.png"
}
]
将JSON转换为CSV:将此片段粘贴到以下网页:http://konklone.io/json/ - 它将生成一个表格:
根据需要使用CSV :复制此表并粘贴到您的Google电子表格中。