Google Photos 迁移
起因
因应 Google 教育版更改政策,教育版不再享有每个账户无限容量,而是改为每个学校共享 100TB 的云端硬碟空间
而我一直以来都依赖 Google 相册,于是就有了将教育版内的内容迁移到个人账户的计划
但是 Google 不支援直接迁移,而是需要我们从 Google Takeout 下载数据,再重新上传数据到云端,以此完成迁移
准备文件
好吧,也就150G的东西,大不了我手动就是了。
说干就干,于是我从 3.3 就发起了 Takeout 的请求 再到 3.5 的时候所有的数据都准备好了
下载下来之后解压发现,里面是相片+json的组合压缩包
json档案中存放的是一些文件元数据
{
"title": "1.jpg",
"description": "",
"imageViews": "0",
"creationTime": {
"timestamp": "1557265777",
"formatted": "7 May 2019, 21:49:37 UTC"
},
"photoTakenTime": {
"timestamp": "1552457709",
"formatted": "13 Mar 2019, 06:15:09 UTC"
},
"geoData": {
"latitude": 0.0,
"longitude": 0.0,
"altitude": 0.0,
"latitudeSpan": 0.0,
"longitudeSpan": 0.0
},
"geoDataExif": {
"latitude": 0.0,
"longitude": 0.0,
"altitude": 0.0,
"latitudeSpan": 0.0,
"longitudeSpan": 0.0
},
"googlePhotosOrigin": {
"mobileUpload": {
"deviceFolder": {
"localFolderName": "Telegram"
},
"deviceType": "ANDROID_PHONE"
}
}
}
我一开始还在想这些东西给我们有什么用,但是一会儿就知道了。
上传文件
由于拖延症的缘故,我直到 4.4 才把所有的相册整理完毕, 晚上我把文件分成两个部分直接上传
但是传完之后上去浏览发现情况有点不对劲,我 3.5 的照片有大概 5k 张,我肯定不可能有那么多照片,所以肯定是文件的时间丢失,导致时间都集合在这个时间点,正好是我解压的时间点
我很生气,去质问 Google One 客服能不能有点作用让我批量修改,但是她说不行,我只能一张一张
5k 张照片,我改到明年都不一定改的完
于是我就想了一个办法,我把文件的创建时间和修改时间从本地改了,再传上去,理论上不就是时间对的了?
于是我糊了一个脚本,可以从它提供的 json 中获得时间,然后再应用在文件上。
不过具体有没有用,得等上传完才知道了。
Update: 它做功了。