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.

¿Cómo elimino archivos de una carpeta compartida utilizando Google Drive V3?

Estoy intentando construir una función que elimine archivos antiguos en una carpeta compartida de Google Drive de la siguiente manera:

private async deleteExpiredFiles(
dataType: DataType,
folderId: string,
expirationDate: string,
): Promise {
const {
data: { files: filesToDelete },
} = await this.drive.files.list({
q: '${folderId}' in parents and createdTime <= '${expirationDate}',
supportsAllDrives: true,
includeItemsFromAllDrives: true,
});

if (!filesToDelete) {
return;
}

await Promise.all(
filesToDelete.map(async (file) => {
if (!file.id) {
return;
}

const permissionIds = await this.drive.permissions.list({
  fileId: file.id,
    supportsAllDrives: true,
  });

  if (!permissionIds.data.permissions) {
    return;
  }

  Promise.all(
    permissionIds.data.permissions.map(async (permission) => {
      if (!permission.id || !file.id) {
        return;
      }

      await this.drive.permissions.delete({
        fileId: file.id,
        permissionId: permission.id,
        supportsAllDrives: true,
      });
    }),
  );
}),

);
}

He configurado todos los permisos en la carpeta de Google Drive, así como también he obtenido las credenciales correctas para la cuenta de servicio. Sin embargo, cuando intento ejecutar esto, obtengo el siguiente error: GaxiosError: El usuario autenticado no tiene el acceso requerido para eliminar el permiso.

Puedo usar drive.files.list bien y ver los archivos, así como también listar los ids de permiso. Pero no me permite eliminarlos. ¿Algún consejo?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que es posible que no tenga configurados los permisos correctos para la cuenta de servicio. Puede consultar la documentación de la API de Google Drive para asegurarse de que la cuenta de servicio tenga los permisos correctos para eliminar los permisos. Además, es posible que deba consultar la documentación de Permisos de Google Drive para asegurarse de que la cuenta de servicio tenga los permisos correctos para eliminar los archivos.

Comments are closed.