Hacemos una verificación exhaustiva cada reseñas en nuestro sitio web con la meta de enseñarte siempre información con la mayor veracidad y actualizada.
Solución:
También puede descargar archivos con contenido binario (archivo que no sea de Google Drive) en Drive usando el webContentLink
attribute de un archivo. De https://developers.google.com/drive/v3/reference/files:
Un enlace para descargar el contenido del archivo en un navegador. Esto solo está disponible para archivos con contenido binario en Drive.
Un ejemplo (yo uso el método get()
para recuperar el webContentLink
de mi archivo):
gapi.client.drive.files.get(
fileId: id,
fields: 'webContentLink'
).then(function(success)
var webContentLink = success.result.webContentLink; //the link is in the success.result object
//success.result
, function(fail)
console.log(fail);
console.log('Error '+ fail.result.error.message);
)
Con los archivos de Google Drive, se puede usar el método de exportación para obtener esos archivos: https://developers.google.com/drive/v3/reference/files/export
Este método necesita un objeto con 2 obligatorios attributes (fileId
y mimeType
) como parámetros. Una lista de disponibles mimeType
s se pueden ver aquí o aquí (gracias a @ravioli)
Ejemplo:
gapi.client.drive.files.export(
'fileId' : id,
'mimeType' : 'text/plain'
).then(function(success)
console.log(success);
//success.result
, function(fail)
console.log(fail);
console.log('Error '+ fail.result.error.message);
)
Puede leer contenido de archivos que no sean de Google doc (por ejemplo, un archivo de texto) con gapi.client.drive.files.get
con alt:"media"
. Ejemplo oficial. mi ejemplo:
function readFile(fileId, callback)
var request = gapi.client.drive.files.get(
fileId: fileId,
alt: 'media'
)
request.then(function(response)
console.log(response); //response.body contains the string value of the file
if (typeof callback === "function") callback(response.body);
, function(error)
console.error(error)
)
return request;
Si usa files.export, no obtendrá ningún enlace que le permita descargar el archivo como se indica en la guía de migración v3.
Por ejemplo, usando el pruébalo, solo obtuve una respuesta de MiMetype pero no un enlace descargable:
[application/vnd.oasis.opendocument.text data]
La solución para esto es una descarga directa. solo reemplaza FILE_ID
con su ID de archivo de Google Doc y ejecútelo en el navegador. A través de esto, pude exportar archivos de documentos de Google.
https://docs.google.com/document/d/FILE_ID/export?format=doc
Créditos a la guía de labnol por la solución.
Para v3 de la API, puede usar el método de exportación https://developers.google.com/drive/v3/reference/files/export
Si te sientes motivado, tienes el poder dejar un tutorial acerca de qué le añadirías a esta reseña.