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.

No se puede transferir la propiedad de los archivos de texto de Google Drive utilizando una cuenta de Gmail y la API de Java.

Estoy desarrollando una aplicación web java para usuarios múltiples que permite a los usuarios listar/compartir sus archivos de Google Drive entre cuentas de Gmail. Utilizo el flujo de código de autorización oauth2 donde el usuario que accede a mi aplicación es redirigido a Gmail para iniciar sesión y luego otorga acceso a scopes de “Google Drive” para mi aplicación. Luego, mi aplicación consume el token de acceso del usuario para invocar APIs de Google Drive utilizando su SDK de Java.

He subido un archivo de MS Word y un archivo de texto al origen de la unidad; estoy intentando transferir la propiedad de ambos a otra cuenta de Gmail usando mi aplicación. Puedo transferir la propiedad del archivo .doc utilizando mi código, pero falla para el archivo .txt. Traté de simular esta operación utilizando el “TRY API” https://developers.google.com/drive/api/v3/reference/permissions/create y obtuve el mismo error.

Error:
“code”: 400,
“message”: “Solicitud incorrecta.Mensaje de usuario: \”No se puede cambiar el propietario de este elemento.\””

Permission newOwnerPermission = new Permission();
newOwnerPermission.setEmailAddress(newOwnerEmail);
newOwnerPermission.setType(“user”);
newOwnerPermission.setRole(“propietario”);
driveService.permissions().create(fileId,newOwnerPermission).setTransferOwnership(true).execute();

Puedo hacer que mi otra cuenta de Gmail sea “escritor” en el archivo de texto, pero no un “propietario”, utilizando tanto el código java como “try api” de Google. ¿Necesito cambiar algo basado en el mimeType en mi solicitud? No veo nada obvio en la documentación.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como sugiere el mensaje de error, parece que no puede cambiar la propiedad del archivo de texto particular que está intentando transferir. Esto podría ser debido a las restricciones establecidas por el propietario del archivo, o a los permisos inherentes del archivo.

    Según el fragmento de código que proporcionó, parece que está estableciendo los parámetros requeridos correctamente. El problema podría no estar relacionado con el mimeType del archivo.

    Podría intentar verificar los permisos del archivo de texto utilizando el método Permisos: listar de la API de Drive. Asegúrese de que el archivo que está intentando transferir tenga los permisos necesarios para que se produzca la transferencia.

    Si el problema persiste, también podría ponerse en contacto con el soporte de Google Drive para obtener más ayuda en la resolución del problema de la transferencia de propiedad.

Comments are closed.