Google apps script 使用高级驱动器服务从Google驱动器映像中提取自定义元数据(XMP)

Google apps script 使用高级驱动器服务从Google驱动器映像中提取自定义元数据(XMP),google-apps-script,metadata,xmp,Google Apps Script,Metadata,Xmp,我正在尝试通过一个摄像头添加一些额外的元数据,这个摄像头在谷歌硬盘资源中似乎不可用。以下是我当前检索元数据的方式: function getPhotoExif( fileId ) { var file = Drive.Files.get(fileId); var metaData = file.imageMediaMetadata; Logger.log(JSON.stringify(metaData)); // If metaData is 'undefined', retur

我正在尝试通过一个摄像头添加一些额外的元数据,这个摄像头在谷歌硬盘资源中似乎不可用。以下是我当前检索元数据的方式:

function getPhotoExif( fileId ) {
  var file = Drive.Files.get(fileId);
  var metaData = file.imageMediaMetadata;
  Logger.log(JSON.stringify(metaData));
  // If metaData is 'undefined', return an empty object
  return metaData ? metaData : {};
}
返回的图像元数据是:

{
"date":"2019:11:09 14:11:09",
"whiteBalance":"Manual",
"subjectDistance":0,
"height":3956,
"meteringMode":"CenterWeightedAverage",
"cameraModel":"FC6520",
"isoSpeed":200,
"cameraMake":"DJI",
"exposureTime":0.01,
"exposureBias":1.65625,
"colorSpace":"sRGB",
"flashUsed":false,
"rotation":0,
"maxApertureValue":1.69,
"aperture":8,
"width":5280,
"location":{
"altitude":131.602,
"latitude":33.43046261111111,
"longitude":-117.19567805555556
},
"exposureMode":"Auto",
"focalLength":45
}
这些值都记录在谷歌文档的文件资源中。这让我相信,任何不是这些值的“自定义”元数据都不会被列出。将显示我需要的元数据,特别是万向节(俯仰/滚动/偏航)数据


这是谷歌脚本目前无法实现的吗

您所需要的似乎当前不受支持。但是,可以创建一个自定义解析器来从图像中提取该信息。我认为,找到使用驱动器高级服务提取图像文件头的方法将是一个很好的开始。谢谢。什么是好的起点?处理图像的blob或字节数组?这似乎是一个很好的起点。您需要解析哪种类型的图像文件?如果您知道这一点,您可以查找文件格式的规范,并确定文件头的结构。如果您提供一个包含您试图访问的元数据的示例图像,则可能会更容易为您提供帮助。这个属性不是标准的EXIF数据,但是,数据可能会在上传的文件中,并且应该可以轻松地检索它们,但是我们首先需要查看一个您正在查找的示例。