Upload to Dropbox
Uploads the file specified in a File-type data item to the specified directory of Dropbox, and stores its communication log in a String-type data item.
2016 © Questetra, Inc. (MIT License)
Configs
  • A: Set Key (access token) for Dropbox Access (64 letters) *
  • B: Select STRING/SELECT for Directory on Dropbox (e.g. “/a/b/”) *
  • C: Select FILE DATA for Upload *
  • X: Select STRING DATA for Access Log (update)
Script
//// == 工程コンフィグの参照 / Config Retrieving ==
var accessToken = configs.get( "conf_AccessToken" );
var dataIdB = configs.get( "conf_DataIdB" ); // (returns Number)
var dataIdC = configs.get( "conf_DataIdC" ); // (returns Number)
var dataIdX = configs.get( "conf_DataIdX" ); // (returns Number)

//// == ワークフローデータの参照 / Data Retrieving ==
var dirPath = "";
if( data.get( dataIdB ) instanceof java.util.ArrayList ){
  dirPath = data.get( dataIdB ).get(0).getValue() + "";
}else if( data.get( dataIdB ) instanceof java.lang.String ){
  dirPath = data.get( dataIdB ) + "";
}
var files = data.get( dataIdC );

//// == 演算 / Calculating ==
var accessLog = "";
var responseJson = "";
for( var i = 0; i < files.size(); i++  ){
  var uri = "https://content.dropboxapi.com/1/files_put/auto";
  uri += dirPath;
  uri += files.get(i).getName() + "";
  var response = httpClient.begin()
    .bearer( accessToken )
    .queryParam( 'overwrite', false )
    .body( files.get(i) )
    .put( uri );
  accessLog += "---PUT request--- " + response.getStatusCode() + "\n";
  responseJson += response.getResponseAsString() + "\n";
}
// for Debug
accessLog += responseJson + "\n";

//// == ワークフローデータへの代入 / Data Updating ==
if( dataIdX !== "" ){
  retVal.put( dataIdX, accessLog );
}

Download

Capture

Notes

  • It requires registering Apps at box Developers in advance
  • When specifying a root folder, set the folder ID as “0”
  • If specified a folder ID which does not exist, it results in an error
  • If there are filename conflicts, it results in an error
    * https://{sub-domain}.app.box.com/files/0/f/11603741795/Folder-Name
%d bloggers like this: