Como podemos adicionar um arquivo à lista de arquivos do usuário através do SDK?
Estamos tendo problemas em que, às vezes, um arquivo que um usuário pode acessar não é retornado quando o usuário emite umfiles.list
. Isso pode acontecer de várias maneiras. Por exemplo, os novos membros de um grupo do Google não verão os arquivos compartilhados anteriormente, conforme descrito emessa questão. Além disso, de acordo comDocumentação do Google Existem outros limites de compartilhamento que podem impedir que arquivos compartilhados apareçam na visualização "Compartilhados comigo". Finalmente, um usuário pode emitir umfiles.delete
em um arquivo que ela não possui, e o arquivo irá desaparecerfiles.list
mas ainda existirá.
O que um usuário pode fazersomente via SDK para causar um arquivo que ela pode acessar viafiles.get
para aparecer na lista de arquivos recuperados viafiles.list
? Estamos usando uma conta de serviço que representa os usuários; o usuário nunca se autentica no Google por meio de um navegador. Um link em um email que o usuário precisa clicar não funcionará para nós, infelizmente. O acesso ao arquivo por meio da interface do usuário do Google Drive tem o efeito desejado, mas ofiles.get
chamada não.
A API do Google Agenda expõe explicitamente umCalendarList
interface onde um usuário pode emitir uminsert
para adicionar um calendário existente à sua lista. O SDK do Google Drive parece um híbridoFiles
/FilesList
interface com algumas das funcionalidades em falta (nada comoFilesList.insert
) e algumas das funcionalidades misturadas (emissão dedelete
como um não-proprietário age comoFilesList.delete
mas emitindo-o como o dono age comoFiles.delete
).
Se não conseguirmos gerenciar a lista de arquivos do usuário programaticamente, isso não será útil para nosso serviço. Nós poderíamos ignorar ofiles.list
chamar inteiramente e apenas começar a executar recursivamentechildren.list
consultas em todas as pastas compartilhadas, mas isso é incrivelmente caro (a menos que alguém saiba como emitir uma única consulta que retorne todas asFiles
recursos em uma pasta e não apenas os IDs desses recursos).
Qualquer ajuda seria apreciada. Temos tentado isso de várias maneiras e ficamos frustrados a cada passo. Obrigado!