2013-07-20 119 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。