node.js / google 驱动 sdk v3:访问 webContentLink(和所有图像元数据)
node.js / google drive sdk v3: access to webContentLink (and all image metadata)
我在驱动器 v3 中成功创建了一个图像文件,但无法检索该文件的 URI;我期待在成功中找到它 response_object。
我确实在 response_object 中找到了文件 ID,我可以使用它来构建显示图像的 URI:
https://drive.google.com/file/d/0Bw4DMtLCtPMkNERiTnpVNDdQV2c/view
我想将 'an official/correct' 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":
{"protocol":"https:",
"slashes":是的,
"auth":空,
"host":"www.googleapis.com",
"port":空,
"hostname":"www.googleapis.com",
"hash":空,
"search":"?fields=id&uploadType=multipart",
"query":"fields=id&uploadType=multipart",
"pathname":"/upload/drive/v3/files",
"path":"/upload/drive/v3/files?fields=id&uploadType=multipart",
"href":"https://www.googleapis.com/upload/drive/v3/files?fields=id&uploadType=multipart"},
"method":"POST",
"headers":{"Authorization":"Bearer ya29.GlxfB18oVtG6A3j7cXzSq17-RSmj9-2BlQm4zHD5sPzKkfhRM1FxlxUHc9mxWaka1N2fBiTJun-SYLB8ewuc63XVbUo01q0bS2FiS6iJTq9O1h9FQWfoO5r8E6z_6Q",
"User-Agent":"google-api-nodejs-client/0.10.0","host":"www.googleapis.com",
"transfer-encoding":"chunked",
"content-type":"multipart/related;
边界=d6cef3f5-2246-5654-ac1f-d00561be5e8a"}
}
转储响应
{"id":“0Bw4DMtLCtPMkNERiTnpVNDdQV2c”}
回顾一下:
- 如何(在 Node.js 中)为新创建的 google Drive v3 图像文件获取 google Cloud Vision 适当的 URI?
- 如何获取(在 Node.js 中)新创建的 google Drive v3 映像文件的元数据?
非常感谢。
新信息:我试过单独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));
}
});
我确实收到了一些元数据(但不是大图)、控制台输出、新上传:
获取属性
{"kind":"drive#file","id":"0Bw4DMtLCtPMkWFdTMUVwY2tRZ2c","name":"2017-06-04T17:57:42.189Zlovelock.png","mimeType":"image/png"}
使用Files.get并在'field'参数中指定你想要得到webContentLink
。它会 return 就是这样。使用文档中的试用。
可在 Files resource 中找到完整的元数据列表。
出于测试目的,通过 fileId here 和 运行 执行。
我在驱动器 v3 中成功创建了一个图像文件,但无法检索该文件的 URI;我期待在成功中找到它 response_object。
我确实在 response_object 中找到了文件 ID,我可以使用它来构建显示图像的 URI:
https://drive.google.com/file/d/0Bw4DMtLCtPMkNERiTnpVNDdQV2c/view
我想将 'an official/correct' 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": {"protocol":"https:", "slashes":是的, "auth":空, "host":"www.googleapis.com", "port":空, "hostname":"www.googleapis.com", "hash":空, "search":"?fields=id&uploadType=multipart", "query":"fields=id&uploadType=multipart", "pathname":"/upload/drive/v3/files", "path":"/upload/drive/v3/files?fields=id&uploadType=multipart", "href":"https://www.googleapis.com/upload/drive/v3/files?fields=id&uploadType=multipart"}, "method":"POST", "headers":{"Authorization":"Bearer ya29.GlxfB18oVtG6A3j7cXzSq17-RSmj9-2BlQm4zHD5sPzKkfhRM1FxlxUHc9mxWaka1N2fBiTJun-SYLB8ewuc63XVbUo01q0bS2FiS6iJTq9O1h9FQWfoO5r8E6z_6Q", "User-Agent":"google-api-nodejs-client/0.10.0","host":"www.googleapis.com", "transfer-encoding":"chunked", "content-type":"multipart/related; 边界=d6cef3f5-2246-5654-ac1f-d00561be5e8a"} }
转储响应 {"id":“0Bw4DMtLCtPMkNERiTnpVNDdQV2c”}
回顾一下:
- 如何(在 Node.js 中)为新创建的 google Drive v3 图像文件获取 google Cloud Vision 适当的 URI?
- 如何获取(在 Node.js 中)新创建的 google Drive v3 映像文件的元数据?
非常感谢。
新信息:我试过单独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));
}
});
我确实收到了一些元数据(但不是大图)、控制台输出、新上传:
获取属性 {"kind":"drive#file","id":"0Bw4DMtLCtPMkWFdTMUVwY2tRZ2c","name":"2017-06-04T17:57:42.189Zlovelock.png","mimeType":"image/png"}
使用Files.get并在'field'参数中指定你想要得到webContentLink
。它会 return 就是这样。使用文档中的试用。
可在 Files resource 中找到完整的元数据列表。
出于测试目的,通过 fileId here 和 运行 执行。