Saltar al contenido

obtenga el contenido del archivo de Google Docs usando Google Drive API v3

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 (fileIdy mimeType) como parámetros. Una lista de disponibles mimeTypes 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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *