¿Cómo podemos agregar un archivo a la lista de archivos de un usuario a través del SDK?
Tenemos problemas en los que a veces no se devuelve un archivo al que un usuario puede acceder cuando el usuario emite un archivo.files.list
. Esto puede suceder de muchas maneras. Por ejemplo, los nuevos miembros de un grupo de Google no verán los archivos compartidos anteriormente, como se describe enesta pregunta. Por otra parte, segúnDocumentación de Google existen otros límites para compartir, lo que puede evitar que los archivos compartidos aparezcan en la vista "Compartidos conmigo". Finalmente, un usuario puede emitir unfiles.delete
en un archivo que ella no posee, y el archivo desaparecerá defiles.list
pero seguirá existiendo.
¿Qué puede hacer un usuario?solo a través del SDK para causar un archivo que puede acceder a través defiles.get
para aparecer en la lista de archivos recuperados víafiles.list
? Estamos utilizando una cuenta de servicio que se hace pasar por los usuarios; el usuario nunca se autentica en Google a través de un navegador. Desafortunadamente, un enlace en un correo electrónico en el que el usuario debe hacer clic no funcionará para nosotros. El acceso al archivo a través de la interfaz de usuario de Google Drive tiene el efecto deseado, pero el análogofiles.get
la llamada no lo hace.
La API de Google Calendar expone explícitamente unaCalendarList
interfaz donde un usuario puede emitir unainsert
para agregar un calendario existente a su lista. El SDK de Google Drive parece un híbridoFiles
/FilesList
interfaz con algunas de las funcionalidades que faltan (nada comoFilesList.insert
) y algunas de las funcionalidades combinadas (emitiendo undelete
como un no propietario actúa comoFilesList.delete
Pero emitiéndolo como el dueño actúa comoFiles.delete
).
Si no podemos gestionar la lista de archivos del usuario mediante programación, no es útil para nuestro servicio. Podríamos ignorar elfiles.list
llamar por completo y simplemente empezar a realizar recursivamentechildren.list
consultas en todas las carpetas compartidas, pero esto es increíblemente caro (a menos que alguien sepa cómo emitir una única consulta que devuelva todas lasFiles
recursos en una carpeta y no solo los ID de esos recursos).
Cualquier ayuda sería apreciada. Hemos estado probando de muchas maneras diferentes y nos hemos sentido frustrados a cada paso. ¡Gracias!