es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Google Sheets Script DriveApp.getFiles() Se produjo un error en el servidor.

Como parte de un script más largo, estoy utilizando la función DriveApp.getFiles() para listar los archivos en mi Google Drive de la siguiente manera:

function logFiles(){
// Registrando el nombre de cada archivo en el Drive del usuario.
var files = DriveApp.getFiles();
while (files.hasNext()) {
  var file = files.next();
  Logger.log(file.getName());
}
}

Usando la función de depuración, la ejecución se detiene en la instrucción while ya que files no está definido. El archivo de registro muestra lo siguiente:

Error: Excepción: Lo sentimos, se produjo un error en el servidor. Por favor, espera un momento y vuelve a intentarlo.
en logFiles(Duplicate:190:14)

Obviamente, el error no se ha solucionado mágicamente, pero la función SI funcionaba hasta ayer.

Hasta el momento, he creado un proyecto y he implementado el código utilizando el ID del proyecto. Me he designado a mí mismo y a otra persona como “Propietarios” del proyecto y ambos estamos listados como cuentas de prueba para ejecutar el script.

Solo estoy utilizando una cuenta personal gratuita de Google ya que este código está adjunto a una sola hoja de cálculo de Google. Otras funciones en el mismo script están funcionando, por lo que parece que los permisos están bien; de lo contrario, esperaría un error de permisos.

El código de ejemplo anterior se toma directamente de la documentación de referencia de Google y aún así no funciona, lo que parece eliminar cualquier problema en mi código.

Agradecería cualquier idea sobre lo que podría estar causando esto.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema puede estar relacionado con un error del servidor que ocurre intermitentemente al utilizar la función DriveApp.getFiles(). Dado que el script funcionaba previamente y otras funciones en el mismo script siguen funcionando, es poco probable que sea un problema de permisos.

    Algunos pasos posibles a seguir:

    1. Esperar e intentar de nuevo más tarde, como sugiere el mensaje de error.
    2. Verificar el Panel de Estado de Google Workspace para ver si hay algún problema reportado con Drive.
    3. Intentar utilizar el Servicio Avanzado de Drive (en lugar del servicio integrado DriveApp) con el siguiente código:
    var files = Drive.Files.list();
    
    1. Intentar utilizar la API de Drive directamente con el siguiente código:
    var response = UrlFetchApp.fetch('https://www.googleapis.com/drive/v3/files', {
      headers: {
        Authorization: 'Bearer ' + ScriptApp.getOAuthToken(),
      },
    });
    var files = JSON.parse(response.getContentText()).files;
    
    1. Contactar al soporte de Google para obtener ayuda adicional.

Comments are closed.