2013-07-20 87 views
3

我在Google Script中使用Google Drive API。我正试图检索照片的原始拍摄日期。拍摄日期为

根据Drive SDK网站,这是:{"imageMediaMetadata": {"date": string}}。该网站说:

imageMediaMetadata.date =拍摄照片的日期和时间(EXIF 格式时间戳)。

但是,我注意到,如果图像已被编辑,它将显示修改的日期,而不是原来的日期。

我通过http://regex.info/exif.cgi打开的文件,并看到确实有文件EXIF: Date/Time Original & Modify Date

的API是给我的修改日期在两个日期,而不是日期/时间原始

如何获得原来的拍摄日期?

回答

0

EXIF数据不参与Drive API返回的创建和修改日期,仅作为附加元数据公开。这是因为需要为没有EXIF数据的文件(即所有非图像)填充相同的字段。

我同意公开这些数据会很酷,但对Drive而言它并不是真的可靠。

+0

Ali对于驱动器上的图像,返回的“imageMediaMetadata”包含各种元数据,如“cameraMake”,“cameraModel”,“exposureTime”,“aperture”,“flashUsed”等, (请参阅https://developers.google.com/drive/v2/reference/files)。注意:此元数据不适用于非图像。它还返回imageMediaMetadata.date,它应该是所采用的日期。不幸的是,它不是,正如我在文章中所解释的那样。对我来说,这只是API本身的缺陷/缺点,你不觉得吗? – user2598430

0

不幸的是,{“imageMediaMetadata”:{“date”:string}}中提供的日期字符串似乎来自Exif/Image/DateTime字段。当重新保存图像时(例如,在Windows图像查看器中旋转图像时),该字段的确会发生变化。由于Drive扩展API中目前没有其他日期字段,因此解决方法可能是使用Exif编辑器为修改后的图像重置DateTime等于DateTimeOriginal。