如何通过Google Drive的DriveApp将视频缩略图导入Google表格
嘿,我来帮你搞定把Google Drive里的视频缩略图导入到Google表格的需求!
实现Google Drive视频缩略图导入Google表格
首先有个关键前提:你需要先启用Google Drive API——在脚本编辑器里,点击「资源」→「高级Google服务」,找到Drive API并开启,然后保存设置。
接下来是完整的可运行代码,替换你原来的myFiles函数,同时添加获取缩略图的辅助函数:
function myFiles() { var ss = SpreadsheetApp.getActive(); var sh = ss.getSheetByName('MyImages'); // 可选:清空表格现有内容,避免重复数据 sh.clearContents(); // 写入表头 sh.appendRow(['序号', '文件名', '文件类型', '文件链接', '缩略图']); var files = DriveApp.getFiles(); var cnt = 1; while(files.hasNext()) { var fi = files.next(); var type = fi.getMimeType(); // 筛选常见的视频MIME类型,可根据需求增减 var videoMimeTypes = [ MimeType.VIDEO_MP4, MimeType.VIDEO_MPEG, MimeType.VIDEO_QUICKTIME, MimeType.VIDEO_WEBM, MimeType.VIDEO_AVI ]; if(videoMimeTypes.includes(type)) { var thumbnailUrl = getVideoThumbnail(fi.getId()); // 插入数据行:序号、文件名、类型、文件链接、缩略图公式 sh.appendRow([ cnt++, fi.getName(), type, fi.getUrl(), thumbnailUrl ? `=IMAGE("${thumbnailUrl}")` : '无缩略图' ]); } } } // 辅助函数:通过Drive API获取视频缩略图链接 function getVideoThumbnail(fileId) { try { // 调用Drive API获取文件的缩略图字段 var file = Drive.Files.get(fileId, {fields: 'thumbnailLink'}); return file.thumbnailLink; } catch(e) { console.log('获取缩略图失败:' + e.message); return null; } }
代码细节说明
- Drive API的作用:DriveApp原生没有直接返回视频缩略图的方法,必须借助Drive API的
Files.get接口才能拿到thumbnailLink(缩略图链接)。 - 视频类型筛选:我列出了主流的视频格式,你可以根据自己的文件类型添加或删除对应的MIME类型。
- 容错处理:如果某些视频没有生成缩略图(比如旧格式或损坏文件),表格会显示「无缩略图」,避免公式报错。
- 表头与清空逻辑:添加了表头让表格更清晰,清空内容的代码是可选的,如果你想保留历史数据可以删除
sh.clearContents()。
额外提示
如果想同时保留图片和视频的缩略图,只需要把原来的图片MIME类型(GIF/JPEG/PNG)和视频MIME类型合并到判断条件里即可。
内容的提问来源于stack exchange,提问作者Paul Mark
相关产品推荐
相关产品推荐

