这是我从Google的Calendar API收到的数据的一部分:
{
"fileUrl":"https://drive.google.com/file/d/1q-cSkADjUnD0PGOamZKI44oIL_cXDJlg/view?usp=drive_web",
"title":"2.png",
"iconLink":"",
"fileId":"1q-cSkADjUnD0PGOamZKI44oIL_cXDJlg"
}
如何实现文件的直接链接(使用JavaScript),以便将其用作数据源?例如:
https://something.com/2.png
修改: This链接(右键点击并复制图片地址)作为数据源,我只是不知道如何动态创建它。
答案 0 :(得分:0)
您需要向fileUrl
,发出GET请求,因为永久性"直接"链接将不存在。
直接来自these google docs:
使用alt = media 要下载文件,您需要对文件的资源URL发出授权的HTTP GET请求,并包含查询参数alt = media。例如:
GET https://www.googleapis.com/drive/v3/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media
网址不需要服务器的文件扩展名来了解您要求的内容。但是,有时服务器需要额外的查询参数来决定要发回的内容。
因此,似乎您可能需要将?alt=media
附加到端点网址fileUrl
的末尾。
然后只使用ajax或类似的请求方法,并向端点发送GET请求。
使用Drive API和JS:
var fileId = '0BwwA4oUTeiV1UVNwOHItT0xfa2M';
var dest = fs.createWriteStream('/tmp/photo.jpg');
drive.files.get({
fileId: fileId,
alt: 'media'
})
.on('end', function () {
console.log('Done');
})
.on('error', function (err) {
console.log('Error during download', err);
})
.pipe(dest);