我在驱动器v3中成功创建了一个图像文件,但无法检索该文件的URI;我期待在成功的response_object中找到它。
我确实在response_object中找到了文件ID,我可以用它来构建一个显示图像的URI:
https://drive.google.com/file/d/0Bw4DMtLCtPMkNERiTnpVNDdQV2c/view
我希望将“官方/正确”的URI作为图片来源提交给Google Cloud Vision API。我想我正在寻找webContentLink v3文件元数据。我想,更常见的是,我无法看到如何获取我刚刚创建的文件的所有元数据(如https://developers.google.com/drive/v3/reference/files所述)。
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):
转储request_object
{ “URI”: { “协议”: “https:” 开头, “斜线”:真实, “身份验证”:空, “主机”:“www.googleapis.com” “端口”:空, “主机名”:“www.googleapis.com” “哈希”:空, “搜索”: “域= ID&放大器; uploadType =多?” “查询”: “字段= ID&安培; uploadType =多部分”, “路径名”: “/上传/驱动器/ V3 /文件”, “路径”: “?/上传/驱动器/ V3 /文件的字段= ID&放大器; uploadType =多”, 的 “href”: “https://www.googleapis.com/upload/drive/v3/files?fields=id&uploadType=multipart”}, “方法”: “POST”, “headers”:{“Authorization”:“bearer ya29.GlxfB18oVtG6A3j7cXzSq17-RSmj9-2BlQm4zHD5sPzKkfhRM1FxlxUHc9mxWaka1N2fBiTJun-SYLB8ewuc63XVbUo01q0bS2FiS6iJTq9O1h9FQWfoO5r8E6z_6Q”, “用户代理”: “谷歌API-的NodeJS客户端/ 0.10.0”, “主人”: “www.googleapis.com” “传输编码”:“分块”, “内容类型”:“多部分/相关; 边界= d6cef3f5-2246-5654-ac1f-d00561be5e8a“} }
转储响应 { “ID”: “0Bw4DMtLCtPMkNERiTnpVNDdQV2c”}
回顾:
非常感谢。
新信息:我尝试过单独的drive.files.get()
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));
}
});
我确实收到了一些元数据(但不是大图),控制台输出,新上传:
获取属性 { “种类”: “驱动器#文件”, “ID”: “0Bw4DMtLCtPMkWFdTMUVwY2tRZ2c”, “名称”: “2017-06-04T17:57:42.189Zlovelock.png”, “mime类型”: “图像/ PNG”}
答案 0 :(得分:1)
使用Files.get并在'字段中指定'要获取的参数webContentLink
。它会回归那个。使用文档中的Try-it。
您可以获取的完整元数据列表位于Files resource。
出于测试目的,传递fileId here并运行执行。