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!

questionAnswers(0)

yourAnswerToTheQuestion