gpt4 book ai didi

google-api - 设置 Google 相册日期

转载 作者:行者123 更新时间:2023-12-05 05:25:02 27 4
gpt4 key购买 nike

我上传了很多没有 EXIF 数据但名称中有日期的照片。 Google 照片使用上传日期对它们进行排序。我想用他们名字中的日期来修改他们。

到目前为止,我尝试使用 Drive API 来更改修改日期,我可以更改它但没有使用。我也尝试修改 imageMediaMetadata.date,但它对我来说似乎是只读的。

代码:

function myFunction() {
var files = DriveApp.getFilesByName("IMG-20150402-WA0002_1.jpg")
while (files.hasNext()) {
var file = files.next();
var name = file.getName().toUpperCase();
if (name.indexOf("-WA") > -1) {
if (name.indexOf("IMG-20") == 0 || name.indexOf("VID-20") == 0) {
var y = name.substr(4, 4);
var m = name.substr(8, 2);
var d = name.substr(10, 2);

var file2 = Drive.Files.get(file.getId());
file2.imageMediaMetadata.date = y+"-"+m+"-"+d+"T12:00:00.000Z";
var file3 = Drive.Files.patch(file2, file.getId());
Logger.log(name + " no ok " + file3.imageMediaMetadata.date); // same as file2
}
}
}

我可以删除它们,修改原始文件并重新上传,但在此之前我想确定没有其他方法。

谢谢。

最佳答案

也许您可以通过编程方式将 EXIF header 写入文件?

在使用新的 Google Photos API 上传旧照片时,我还会寻找一种方便的方式来提供照片日期。我的照片不一定有 EXIF 数据;我尝试在我的 MacOS 机器磁盘上的一个 JPEG 上设置创建/上次修改日期,然后通过 Google Photos 网络界面 手动上传它,本地磁盘上的 JPEG 文件的日期变为如预期的那样,照片在 Google 相册中的日期。该文件没有 EXIF 数据,即使有,也不会包含相同的日期,因此显然 google photos 网络 uploader 尊重照片的本地文件系统日期。

然后我尝试使用 Charles Proxy 嗅探流量,但显然 Web 界面使用 Google Photos API 的方式与我们外部开发人员不同——它不会 POST 到 https://photoslibrary.googleapis.com/v1/uploads似乎如此。所以我无法对这个过程进行逆向工程。我也看不到文件创建日期是从哪里传入的。

如果在上传 POST 请求中有一个 HTTP header 来设置此日期,那就太好了。我没有看到 batchCreate ( https://developers.google.com/photos/library/reference/rest/v1/mediaItems/batchCreate) 方法有任何设置方法。

关于google-api - 设置 Google 相册日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32667442/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com