我成功上传到API的图像是这样的:谷歌驱动器上传图片 - 数据不返回webContentLink - 直接permenant链接
https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart
Authorization: 'Bearer ' + token,
'Content-Type': 'multipart/form-data; boundary="' + boundary + '"'
--data: multipartRequestBody
其中multipartRequestBody
是:
{
name: 'screenshot.png',
mimeType: 'image/png',
// parents: ['0B5IwavgVGMN9ekR2dEhuaUxkZTA'] // set this to the id of a the folder you want to upload it into
};
是否有一些密钥可以提供给我的mulitpartRequestBody
,它会告诉GDrive将其作为公共共享文件上载并返回在webContentLink
?我可以使用src
的<img src="...">
而不限制视图带宽?
我试过设置writersCanShare: true
但是它仍然不会返回webContentLink
。我也尝试加入type: 'anyone', role: 'reader'
,但那也没用。
基本上我试图做什么https://drive.google.com/uc?export=view&id={fileId}
做的,但在insert
调用的API。
感谢
一旦Files资源被检索(即使用'get'),就可以访问webContentLink。根据[文档](https://developers.google.com/drive/v3/web/manage-downloads#viewing_files_in_a_browser),一旦您指定了它,就不需要授权。insert应该能够拥有'webContentLink',因为它也使用文件资源作为响应。还有其他方式可以下载文件,但我认为这些文件不适用于你想要的情况。 – adjuremods
@adjuremods感谢我实验过的输入,并且我必须首先随后用'files.insert'写入,然后设置'role = reader的权限,type = anyone,withLink = true',用'permissions.insert'作为id,然后我必须用'files'请求领域'webContentLink' – Noitidart