Я пытался получить метаданные файла Google Диска с помощью этого Files.get и Google File Picker . После успешного запроса (статус 200) я получил ответ:
This is the raw response:
{
"gapiRequest":{
"data":{
"body":"%PDF-1.5\n%¿÷¢þ\n2....6\n%%EOF\n",
"headers":{
"cache-control":"private,max-age=0, must-revalidate",
"content-encoding":"gzip",
"content-type":"text/plain;charset=UTF-8",
"date":"Wed, 05 Aug 2020 14:44:43 GMT",
"expires":"Wed, 05 Aug 2020 14:44:43 GMT",
"server":"UploadServer",
"vary":"Origin, X-Origin",
"x-guploader-uploadid":"AAANsUmkhdrrBAhb1C30yaK09LEZzu1BjYUmIAU9iI9J3lYXHih-4CUPFP6jDhC-sc-xveULFdcNJFp5oQhpQrgzluhWTSvrYg",
"Content-Type":"application/pdf"
},
"status":200
}
}
}
Затем я создал Blob, используя содержимое тела, т.е. gapiRequest.data.body
, и сделал ссылка для загрузки с этим Blob, но когда я загружаю, он не может загрузить файл PDF. Там написано: «Не удалось загрузить PDF»
Мой код:
var request = window.gapi.client.request({
'path': `https://www.googleapis.com/drive/v3/files/${fileId}?alt=media`,
'method': 'GET'
});
request.execute((json, raw) => {
console.log('JSON: ', json, '\nRAW: ', JSON.parse(raw));
var val = JSON.parse(raw).gapiRequest.data.body;
var myBlob = new Blob([val], { type: 'application/pdf' })
//making a downloadable link.
var url = window.URL.createObjectURL(myBlob);
document.getElementById('download-file').href = url;
});
Я также привязываю полный код приложения. js здесь