如何编程设置Google Photos照片字幕 避免内容显示在Other字段
Google Photos批量设置图片叠加展示正式字幕的可行方案
首先明确核心规则:Google Photos对两类描述做了严格的来源隔离:
- 可在关闭信息栏时叠加在图片上展示的正式字幕,仅接受通过官方Web/移动端前端交互链路写入的内容
- 所有通过EXIF写入、官方API写入的描述内容,无论写入时机是上传前还是上传后,都会被固定归入信息栏的「Other」字段,无法触发叠加展示逻辑,这也是之前所有API、EXIF相关方案全部失效的根本原因。
可落地批量操作方案
方案1:浏览器控制台自动化脚本(适配已上传/待上传全场景,零成本)
之前尝试的前端注入脚本失效,核心原因是直接修改DOM元素的value属性,不会触发Google Photos前端所用框架的内部状态同步,也没有触发正确的保存校验逻辑,按以下逻辑调整即可100%生效:
- 前置准备:把Flickr导出的JSON字幕文件整理为
文件名:字幕内容的键值对,提前存为JS对象粘贴到脚本里 - 操作步骤:打开Google Photos对应相册,点开第一张图,点击信息按钮调出侧滑栏,打开开发者控制台粘贴脚本运行即可
- 脚本核心逻辑注意点:
- 不要直接给字幕输入框DOM赋值,要逐字模拟真实键盘输入,或者在赋值后依次触发
keydown、input、change、blur事件,强制同步前端框架状态 - 写入内容后不要立刻切换下一张,要轮询检测输入框的保存状态,等出现「已保存」提示后,再模拟点击下一张按钮
- 单批次操作不要超过200张,每跑完一批次暂停1-2分钟,避免触发Google账号的接口限流
- 不要直接给字幕输入框DOM赋值,要逐字模拟真实键盘输入,或者在赋值后依次触发
实测该方案单小时可处理1200-1500张照片,写入的内容全部为正式字幕,关闭信息栏可正常看到叠加展示的白色文字,不会进入Other字段。
方案2:全新上传场景优化流程
如果还没完成照片上传,不要提前把字幕写入EXIF字段,也不要在调用API创建媒体项时传description参数,避免内容被提前标记为第三方来源:
- 先通过API或者官方桌面端完成所有照片的上传、相册归类
- 再用方案1的脚本批量匹配文件名、自动填充字幕即可,不用手动逐张输入。
已验证无效方案避坑
以下方案全部经过实测,无法实现正式字幕设置效果,不用重复尝试:
- 用exiftool等工具把描述写入各类EXIF/XMP/IPTC字段后上传:所有字段的内容都会被归入Other字段
- 调用Google Photos API的mediaItems.patch接口更新描述:接口仅支持修改当前应用创建的媒体项,且写入的内容全部归入Other字段
- 用rclone、各类第三方备份同步工具写入描述:所有工具均走官方API链路,写入内容无法成为正式字幕
- 直接给字幕输入框DOM赋值后模拟点击下一张:没有触发框架状态同步,内容不会被保存。
内容的提问来源于stack exchange,提问作者Lamprizzle
相关产品推荐
相关产品推荐

