You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.
Forum Discussion
outsidecoder
7 years agoHelpful | Level 5
Automatically Deleting Files After X Days - General Data Protection Regulation May 2018
Hi there, I'm using the Java SDK 3x (API v2) and I'm looking for pointers/code to automatically delete files that are X number of days old. There is post on this forum which is doing this in python...
outsidecoder
Helpful | Level 5
Things are not looking good for business users in Europe. We should be able tell when a folder was modified* for GDPR.
https://www.dropboxforum.com/t5/API-support/Get-the-modified-date-for-a-folder-or-file/m-p/184489/highlight/true#M7748
*Ideally it should be the creation date, however that is probably a grey area for lawyers to argue over.
https://www.dropboxforum.com/t5/API-support/Get-the-modified-date-for-a-folder-or-file/m-p/184489/highlight/true#M7748
*Ideally it should be the creation date, however that is probably a grey area for lawyers to argue over.
outsidecoder
7 years agoHelpful | Level 5
So created a quick bit of code to delete files older than X days but its very rough and hasn't been tested properly. It doesn't get round the issue of dates of folders, nor does it get round the issue of not knowing the creation date. Comments welcomed as there must be a better way than this?
enum MODIFIED_DATE_TYPE { SERVER_MODIFIED_DATE, CLIENT_MODIFIED_DATE; } private long deleteFilesOlderThanXDays(long numDays, MODIFIED_DATE_TYPE TYPE) throws DbxException { //ALPHA - add protection against going above long.MAXIMUM long numberFilesDeleted = 0; ListFolderBuilder listFolderBuilder = client.files().listFolderBuilder(""); ListFolderResult result = listFolderBuilder.withRecursive(true).start(); while (!result.getHasMore()) { if (result != null) { for (Metadata entry : result.getEntries()) { // System.out.println("Analysing: " + entry.getPathLower()); if (entry instanceof FileMetadata) { Date dateOfFile; switch (TYPE) { case CLIENT_MODIFIED_DATE: dateOfFile = ((FileMetadata) entry).getServerModified(); break; case SERVER_MODIFIED_DATE: dateOfFile = ((FileMetadata) entry).getClientModified(); break; default: throw new AssertionError(); } //Check to see if the current file is too old if (getDaysBetween(new Date(), dateOfFile) > numDays) { this.deleteFile(entry.getPathLower()); numberFilesDeleted++; } } } if (!result.getHasMore()) { return numberFilesDeleted; } try { result = client.files().listFolderContinue(result.getCursor()); } catch (DbxException e) { //ALPHA - TIDY UP HERE. CATCHING or THROWING??? - GDPR - Note what you're logging // log.info("Could NOT get listFolderContinue"); } } } return numberFilesDeleted; }
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,886 PostsLatest Activity: 23 minutes agoIf you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!