Dropbox Examples

To use Dropbox functionality in BrightServer scripts, a verified Dropbox account must be used. This account must contain an application, whose token is used in order to access the account via BrightServer scripts.

Example 1. Access, then retrieve Dropbox account details

var token = "<YOUR-ACCESS-TOKEN>";

try

{

var dropbox = ScriptSession.createDropboxObject(token) ;

 

ScriptSession.logInfo("Getting account details...") ;

ScriptSession.logInfo("Account Id = " + dropbox.getId()) ;

ScriptSession.logInfo("Account Name = " + dropbox.getName()) ;

ScriptSession.logInfo("Account Surname = " + dropbox.getSurname()) ;

ScriptSession.logInfo("Account Display Name = " + dropbox.getDisplayName()) ;

ScriptSession.logInfo("Account Disabled = " + dropbox.isDisabled()) ;

ScriptSession.logInfo("Account Type = " + dropbox.getAccountType()) ;

ScriptSession.logInfo("Account Email = " + dropbox.getEmail()) ;

}

catch (error)

{

ScriptSession.logError("Error accessing Dropbox: " + error.toString());

}

Note:

Example 2. Recursively list files and directories from root directory

function run()

{

var token = "<YOUR-ACCESS-TOKEN>";

try

{

var dropbox = ScriptSession.createDropboxObject(token);

 

ScriptSession.logInfo("Listing files...") ;

listDirectory(dropbox, "", "  ");

}

catch (error)

{

ScriptSession.logError("Error accessing Dropbox: " + error.toString());

}

}

 

function listDirectory(db, path, indent)

{

    var files = db.getFileList(path);

    for (var i = 0; i < files.length; i++)

    {   

        var metadata = db.getMetadata(files[i]) ;

        if (metadata.isFile())

        {

            ScriptSession.logInfo(indent + "File  : " + files[i]) ;

        }

        else

        {

            ScriptSession.logInfo(indent + "Folder : " + files[i]) ;

            listDirectory(db, files[i], indent + "  ");

        }

    }

}

Note:

Example 3. Retrieve file metadata

var token = "<YOUR-ACCESS-TOKEN>";

try

{

var dropbox = ScriptSession.createDropboxObject(token);

 

var exampleFile = "/exampleFile.txt";

var metadata = db.getMetadata(exampleFile);

ScriptSession.logInfo("Id: " + metadata.getId());

ScriptSession.logInfo("Name: " + metadata.getName());

ScriptSession.logInfo("Is File: " + metadata.isFile());

ScriptSession.logInfo("Is Folder: " + metadata.isFolder());

ScriptSession.logInfo("Client Modified: " + metadata.getClientModifiedDate());

ScriptSession.logInfo("Server Modified: " + metadata.getServerModifiedDate());

ScriptSession.logInfo("File Size: " + metadata.getFileSize());

ScriptSession.logInfo("Revision: " + metadata.getRevision());

}

catch (error)

{

ScriptSession.logError("Error accessing file data on Dropbox: " + error.toString());

}

Note:

Example 4. Upload file to Dropbox

var token = "<YOUR-ACCESS-TOKEN>";

try

{

var dropbox = ScriptSession.createDropboxObject(token);

 

ScriptSession.logInfo("Save File Locally:");

var localFile = "C:/Temp/dropboxUpdated.txt";

var date = Calendar.getInstance().getTime();

var blob = new Blob(date.toString().getBytes());

blob.writeToFile(localFile);

 

ScriptSession.logInfo("Write File to Dropbox:");

var destFile = "/lastUpdate.txt";

db.uploadFile(localFile, destFile, true);

}

catch (error)

{

ScriptSession.logError("Error uploading file to Dropbox: " + error.toString());

}

Note:

Example 5. Download file from Dropbox

var token = "<YOUR-ACCESS-TOKEN>";

try

{

var dropbox = ScriptSession.createDropboxObject(token);

 

ScriptSession.logInfo("Download File from Dropbox:");

var srcFile = "/lastUpdate.txt";

var destFile= "C:/Temp/dropboxUpdated.txt";

db.downloadFile(srcFile, destFile);

 }

catch (error)

{

ScriptSession.logError("Error downloading file from Dropbox: " + error.toString()) ;

}

Note:

Example 6. Delete file on Dropbox

var token = "<YOUR-ACCESS-TOKEN>";

try

{

var dropbox = ScriptSession.createDropboxObject(token);

 

ScriptSession.logInfo("Delete file from Dropbox:");

var deletePath = "/fileToDelete.txt";

db.deleteFile(deletePath );

 }

catch (error)

{

ScriptSession.logError("Error deleting file from Dropbox: " + error.toString()) ;

}

Note:

Example 7. Copy folder on Dropbox

var token = "<YOUR-ACCESS-TOKEN>";

try

{

var dropbox = ScriptSession.createDropboxObject(token);

 

ScriptSession.logInfo("Delete file from Dropbox:");

var originalFolder = "/OriginalFolder";

var copyDestination = "/DestinationFolder/CopyDestination";

db.copy(originalFolder, copyDestination, false);

 }

catch (error)

{

ScriptSession.logError("Error copying folder: " + error.toString()) ;

}

Note:

Example 8. Move file to folder on Dropbox

var token = "<YOUR-ACCESS-TOKEN>";

try

{

var dropbox = ScriptSession.createDropboxObject(token);

 

ScriptSession.logInfo("Move file to directory in Dropbox:");

var fileName = "/fileName.txt";

var folderName = "/testFolder";

db.move(fileName, folderName+fileName, false);

 }

catch (error)

{

ScriptSession.logError("Error moving file: " + error.toString()) ;

}

Note: