已有照片ID,如何批量删除Google Photos中指定的31748张照片?
可行解决方案
方案1:利用Google Photos Library API将照片移至回收站(推荐)
虽然官方称API不支持直接删除,但可以通过将媒体项标记为「已移入回收站」的方式间接实现,之后手动清空回收站即可彻底删除。具体步骤:
- 整理好你的照片ID列表(可按数组格式存储)
- 使用Google Apps Script编写批量处理脚本:
- 打开Google Apps Script平台,新建一个空白项目
- 粘贴以下代码,将
photoIds替换为你的31748个照片ID数组:function batchTrashPhotos() { var photoIds = ["PHOTO_ID_1", "PHOTO_ID_2", "..."]; // 替换为你的实际ID列表 var batchSize = 50; // 每次批量处理50个,规避API请求限制 for (var i = 0; i < photoIds.length; i += batchSize) { var currentBatch = photoIds.slice(i, i + batchSize); var requests = currentBatch.map(id => ({ updateMediaItemRequest: { mediaItemId: id, updateMask: "trashed", mediaItem: { trashed: true } } })); try { PhotosLibrary.MediaItems.batchUpdate({requests: requests}); console.log(`已完成第 ${Math.floor(i/batchSize)+1} 批次处理,累计处理 ${i+currentBatch.length} 张照片`); } catch (error) { console.error(`批次处理失败: ${error.message}`); } // 添加延迟避免触发请求频率限制 Utilities.sleep(1000); } } - 点击顶部菜单栏「资源」→「高级Google服务」,找到并启用「Photos Library API」
- 点击运行按钮,首次运行需完成账号授权(确保使用上传照片的目标Google账号)
- 脚本执行完毕后,打开Google Photos回收站,确认目标照片已移入,点击「清空回收站」完成彻底删除
方案2:浏览器控制台批量操作(适合无代码基础用户)
如果不想编写脚本,可利用浏览器开发者工具实现半自动删除:
- 打开Google Photos网页版,登录目标账号
- 按F12打开开发者工具,切换到「控制台」标签
- 粘贴以下代码,替换
photoIds为你的ID数组:const photoIds = ["PHOTO_ID_1", "PHOTO_ID_2", "..."]; let currentIdx = 0; async function processPhoto() { if (currentIdx >= photoIds.length) { console.log("所有照片处理完成"); return; } const id = photoIds[currentIdx]; currentIdx++; try { // 打开目标照片页面 const photoTab = window.open(`https://photos.google.com/lr/photo/${id}`, "_blank"); // 等待页面加载完成 await new Promise(resolve => setTimeout(resolve, 3000)); // 切换到照片页面并执行删除操作 photoTab.focus(); const deleteBtn = photoTab.document.querySelector('[aria-label="删除"]'); if (deleteBtn) { deleteBtn.click(); // 等待确认弹窗加载并点击确认 await new Promise(resolve => setTimeout(resolve, 1000)); const confirmBtn = photoTab.document.querySelector('[data-testid="confirm"]'); if (confirmBtn) confirmBtn.click(); } // 关闭当前照片标签页 photoTab.close(); console.log(`已处理照片ID: ${id}`); } catch (err) { console.error(`处理照片失败 ${id}: ${err.message}`); } // 延迟后继续处理下一张 setTimeout(processPhoto, 2000); } processPhoto(); - 注意:此方法效率较低,且Google Photos可能检测到自动操作触发限制,建议分多次小批量执行
方案3:通过上传特征批量筛选删除
如果你的照片是同一时间段批量上传的,可利用Google Photos的筛选功能快速定位:
- 打开Google Photos,点击「搜索」→「日期」,选择上传照片的时间范围
- 按
Ctrl+A(Windows)或Cmd+A(Mac)全选该时间段照片,仔细核对确保仅包含目标照片 - 点击删除按钮,将照片移入回收站后清空即可
内容的提问来源于stack exchange,提问作者Tyrel
相关产品推荐
相关产品推荐

