2016-04-16 6 views
1

Я попытался получить push-уведомление, когда я редактирую файлы этого диска. Все было в порядке, пока я не попытался удалить эти папки из пользовательского интерфейса Google Диска. Они исчезли из пользовательского интерфейса, но мое обслуживание все еще получает их, как если бы они присутствовали.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()); 


      . 
      . 
      . 
      . 
      . 

Я попробовал много образцов, но до сих пор не fixed.Plz помочь me.thanks

ответ

1

Я также сталкиваются с такого рода вопросов, на мой проект, но после того, как давно я получил решение.

Пожалуйста, используйте параметр строки запроса в коде как

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

Конечно, это будет решить эту проблему.

Спасибо.