Integrating with Accellion using Powershell

Implementing an Accellion API client using Powershell can be done fairly cleanly. There are some interesting challenges in the implementation, but overall this is a very good case from why REST APIs are valuable for vendors and their clients.

The main challenge of integrating with Accellion was getting the token hashing algorithm right.  Another interesting piece was coping with being able to get session cookies.  I needed to prevent the WebRequest from following the redirects the Accellion server sends.

Beyond that it was a pretty run of the mill prototyping exercise.  What you see on my Github repository is a heavily refactored version of the original prototype that I tested at each step.  The goal of the refactoring was to find a first approximation of a sensible component separation prior to implementing it in Java.

Bear in mind that my implementation will download the entire inbox to memory so it could blow up badly.

Please take a look at my accellion-powershell repository on Github to see the full implementation.  Feel free to copy, sell, slice and dice that code however you like.