2016-04-16 7 views
1

Ich habe versucht, Push-Benachrichtigung zu bekommen, wenn ich diese Laufwerksdateien bearbeite. Alles war gut, bis ich versuchte, diese Ordner von der Google Drive-Benutzeroberfläche zu löschen. Sie verschwanden von der Benutzeroberfläche, aber mein Dienst empfängt sie immer noch, als wären sie anwesend.Google-drive-java-api-returns-deleted-files

try { 
     configdata = dao.getConfigByChannelId(channelId,IntegrationType.DRIVE); 
     System.out.println("ACCESS TOKEN FOR CHANNEL ID: " + configdata.getAccessToken()); 
     GoogleCredential credential = new GoogleCredential().setAccessToken(configdata.getAccessToken()); 

     Drive service = new Drive.Builder(httpTransport, jsonFactory, null) 
       .setApplicationName("Akoonu") 
       .setHttpRequestInitializer(credential).build(); 
     Files.List files = service.files().list(); 

     try { 
      Change change = service.changes().get(String.valueOf((Integer.parseInt(changeId) - 1))).execute(); 


      System.out.println("Changed file ID: " + change.getFileId()); 
      System.out.println("Check delete case: " + change.getDeleted()); 


      if (change.getDeleted()) { 
       System.out.println("File has been deleted"); 
       File changedFile = change.getFile(); 

       strpath.replace(changedFile.getTitle(), ""); 
       String path = strpath.replace(changedFile.getTitle(), ""); 
       //deleteItem = iao.getIventoryItemByFilePathAndConfigId(changedFile.getTitle(), path, configdata.getId(), configdata.getAccountId()); 
       deleteItem = iao.getIventoryItemByExternalId(changedFile.getId(), configdata.getId(), configdata.getAccountId()); 
       itemService.deleteInventoryItem(deleteItem.getId(), deleteItem.getAccountId()); 
       //deleteFilePathList.add(metadata.getPathDisplay().substring(1)); 

      } else { 
       File changedFile = change.getFile(); 
       System.out.println("Changed file Title: " + changedFile.getTitle()); 


      . 
      . 
      . 
      . 
      . 

Ich habe viele Proben versucht, aber immer noch fixed.Plz nicht helfen me.Thanks

Antwort

1

ich auch diese Art von Fragen auf meinem Projekt mit Blick aber nach langer Zeit bekam ich eine Lösung.

Bitte Abfrage String-Parameter in Ihrem Code verwenden wie

Files.List request = service.files().list().setQ("trashed=false"); 
.. 

Sicherlich wird es dieses Problem zu beheben.

THanks.