Google drive api node.js/google drive sdk v3:访问webContentLink(和所有图像元数据)

Google drive api node.js/google drive sdk v3:访问webContentLink(和所有图像元数据),google-drive-api,google-cloud-vision,Google Drive Api,Google Cloud Vision,我正在驱动器v3中成功创建映像文件,但无法检索该文件的URI;我希望在success response_对象中找到它 我确实在response_对象中找到了文件ID,我可以使用它来构造一个显示图像的URI: 我希望有一个“正式/正确”的URI作为图像源提交给google Cloud Vision API。我想我正在寻找webContentLink v3文件元数据。我想,更一般地说,我看不出如何获取我刚刚创建的文件的所有元数据(如中所述) var newFileMetadata

我正在驱动器v3中成功创建映像文件,但无法检索该文件的URI;我希望在success response_对象中找到它

我确实在response_对象中找到了文件ID,我可以使用它来构造一个显示图像的URI:

我希望有一个“正式/正确”的URI作为图像源提交给google Cloud Vision API。我想我正在寻找webContentLink v3文件元数据。我想,更一般地说,我看不出如何获取我刚刚创建的文件的所有元数据(如中所述)

        var newFileMetadata = {
          'name': unique_file_name,
          description: options.multipart,
          useContentAsIndexableText: false,
          parents: [ file.id ]
        };

        var media = {
          mimeType: 'image/jpg',
          body: fs.createReadStream(options.src_dir + '/' + sourceFile),
          viewersCanCopyContent: true,
          writersCanShare: true
        };

        var request_object = drive.files.create({
            auth: auth,
            resource: newFileMetadata,
            media: media,
            fields: ['id']
            },
            function(err, response) {
              if (err) {
                console.log('drive.files.create error: %s %s', err, response);
                return;
              } else {
                // file create success; get response
                console.log('dump the response\n %s', JSON.stringify(response));
              }
            }
          );  // end of drive.files.create()
控制台输出为(带cr,可读性):

转储请求\u对象

{“uri”: {“协议”:“https:”, “斜杠”:没错, “auth”:空, “主持人”:“www.googleapis.com”, “端口”:空, “主机名”:“www.googleapis.com”, “哈希”:null, “搜索”:“?字段=id&上传类型=多部分”, “查询”:“字段=id&上传类型=多部分”, “路径名”:“/upload/drive/v3/files”, “路径”:“/upload/drive/v3/files?fields=id&uploadType=multipart”, “href”:“}, “方法”:“发布”, “标头”:{“授权”:“持有人ya29.GlxfB18oVtG6A3j7cXzSq17-RSmj9-2BLQM4ZHD5SPZKKFFHRM1FXLXUHC9MXWAKA1N2FBITJUN-SYLB8ewuc63XVbUo01q0bS2FiS6iJTq9O1h9FQWfoO5r8E6z”, “用户代理”:“谷歌api nodejs客户端/0.10.0”,“主机”:“www.googleapis.com”, “传输编码”:“分块”, “内容类型”:“多部分/相关”; 边界=d6cef3f5-2246-5654-ac1f-d00561be5e8a“} }

转储响应 {“id”:“0BW4DMTLCTMPKNERITNPVNDQV2C”}

重述:

  • 如何(在Node.js中)为新创建的GoogleDriveV3图像文件获取一个适用于GoogleCloudVision的URI
  • 如何(在Node.js中)获取新创建的google Drive v3图像文件的元数据
非常感谢

新信息:我尝试了一个单独的驱动器。files.get()

我确实收到了一些元数据(但不是大图)、控制台输出、新上传:

获取属性 {“种类”:“驱动器#文件”,“id”:“0BW4DMTLCPMKWFDTMUVWY2TRZ2C”,“名称”:“2017-06-04T17:57:42.189Zlovelock.png”,“mimeType”:“image/png”}

在“字段”参数中使用并指定要获取的
webContentLink
。它会回来的。使用“从文档中尝试”

您可以获得的元数据的完整列表可在中找到

出于测试目的,请传递您的命令并执行

                drive.files.get({
                  auth: auth,
                  fileId: response.id
                },
                function(err, response) {
                  if (err) {
                  console.log('drive.files.get error: %s %s', err, response);
                  return;
                  } else {
                  // file create success; get properties
                  console.log('get properties\n %s', JSON.stringify(response));
                  }
                });