Estoy usando react-google-drive-picker para seleccionar un archivo de GDrive en mi aplicación NextJS. Una vez que elegí un archivo y recuperé la metainformación, ¿cuál es la forma sugerida de descargar o simplemente recuperar el contenido del archivo? ¿Qué API se sugiere usar authResponse para autenticar?
Estoy usando:
useEffect(() => { // do anything with the selected/uploaded files if (data) { var file = data.docs[0] var xhr = new XMLHttpRequest(); xhr.open('GET', file['url']); xhr.setRequestHeader('Authorization', 'Bearer ' + authResponse['access_token']); xhr.setRequestHeader('Content-Type', 'application/vnd.google-apps.document'); xhr.onload = function () { var content = xhr.responseText console.log(content) }; xhr.onerror = function () { console.log("ERROR LOADING THE FILE") }; xhr.send(JSON.stringify({"alt" : "media"})); } }, [data])pero el texto del documento no está presente en la respuesta...
siguiendo la sugerencia de @Gonzalo-Matheu, aquí hay una forma de obtener el texto después de elegir un archivo con react-google-drive-picker en nextjs:
var file = data.docs[0] var xhr = new XMLHttpRequest(); var url = 'https://www.googleapis.com/drive/v3/files/' + file['id'] + '/export?mimeType=text%2Fplain&key=' + process.env.NEXT_PUBLIC_GOOGLE_API_KEY xhr.open('GET', URL); xhr.setRequestHeader('Authorization', 'Bearer ' + authResponse['access_token']); xhr.onload = function () { var value = xhr.responseText // do what you need with file content console.log(value) }; xhr.onerror = function () { console.log("ERROR LOADING THE FILE") }; xhr.send();