Dropbox アップロード

ファイル型データ項目で指定されたファイルを Dropbox の指定ディレクトリにアップロードし、通信ログを 文字型データ項目に格納します

    A. Dropbox通信カギ(access token)をセットしてください (64文字)単一行記述必須
    B. Dropboxディレクトリ名が格納されている文字列型or選択肢型データを選択してください(例: "/a/b/")データ項目選択文字列型(単一行)or選択型(ラジオ/セレクト/検索)必須
    C. アップロードファイルが格納されているファイル型データを選択してくださいデータ項目選択ファイル型必須
    X. 通信ログが格納される文字列型データを選択してください (更新)データ項目選択文字列型(複数行)
    -設定変数名設定ラベル
    Aconf_AccessTokenDropbox通信カギ(access token)をセットしてください (64文字)
    Bconf_DataIdBDropboxディレクトリ名が格納されている文字列型or選択肢型データを選択してください(例: "/a/b/")
    Cconf_DataIdCアップロードファイルが格納されているファイル型データを選択してください
    Xconf_DataIdX通信ログが格納される文字列型データを選択してください (更新)
    // Upload to Dropbox via DropboxAPI v1 (ver. 20161005)
    // (c) 2016, Questetra, Inc. (the MIT License)
    
    //// == 工程コンフィグの参照 / 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 );
    }
    

    • B’: Bで選択したデータ項目に格納されているDropboxディレクトリ名
    • C’: Cで選択したデータ項目に格納されているファイル
    • ファイル群 C’ が、指定のディレクトリ B’ にアップロードされます
    • 通信ログが X で選択したデータ項目に格納されます
    • 事前に Dropbox Platform にてアプリ登録をしておく必要があります
    • 指定のディレクトリが無い場合は自動生成されます
    • ファイル名が競合(コンフリクト)する場合はリネームされた上で保存されます (例: “example (1).JPG”)
    • Dropbox OAuth は Access Token がリフレッシュされないため、本自動工程では[OAuth 2.0 設定]を使用しない方式で通信します