Producteev C# API Library
<Download Link Removed>
Update (July 5, 2012): This version is currently not worth the trouble working with so I’ve removed the download link. I will replace it once I have removed the Full .NET 4.0 dependency and updated the API model to be more current. This was forked from the main Producteev Windows trunk and has since massively overhauled to include a sophisticated scheduling and multi-threaded queue system, which you will see in the next version. Unfortunately for now a lot of the model is intertwined with drawing code and such so it needs to be re-forked.
This is an open source .Net library to allow you to quickly build Windows applications that integrate with Producteev.com. Make sure you read this document before you attempt implementation.
If you do not already have an API to begin development, you can pick one up here: http://www.producteev.com/developers/
- Added some code documentation
- Added changelog and readme to the site
- Removed some useless code
- Added APIQueue and delegates
- Initial Release
In the next release (0.2) I plan on adding more delegates specifically for updating local task collections (essentially doing all the work for synchronization for you) as well as filtering and other neat things. I will also have more detailed documentation on how to use the code.
- JSON.net – http://json.codeplex.com/ (Also under MIT license)
- An API key
- This code is written in managed C#.Net code.
This API library was built from the bottom and has 3 layers. You can use any number of the layers as you want, from raw API calls at the bottom, to the full-featured sync engine at the top. It was built this way to support a wide variety of uses and to be very easy to implement.
- Callbacks - These provide delegates within the APIQueue when the API calls are finished to update an API object, like an APITask or APIDashboard (or collection of these API objects). In essence, you can use this to connect the API library to other functionality in your application. For instance, keep a local collection of APITask objects and use the delegates to perform a sync action and update your list of tasks.
- Queue - The API Queue lines up API calls and processes them in order, one at a time. Calls that are not complete or made while the user is offline (either unintentionally or with the built-in Offline Mode) are stored until they can be processed later. Failed calls are retried. Calls that involve labels that haven’t been created yet are assigned internal temporary ID’s and reprocessed after the synchronization occurs. All of the API calls are processed in a separate thread.
- Raw API calls – These allow you to make individual, unthreaded API calls. It is important to note that the thread will cease until the call is completed.
The code will not work unless you provide an API key and security pair. You will find these as string constants in ProducteevAPI.cs.
I won’t be documenting the actual API calls as they are mostly self-explanatory. If you need help with these they are all documented here: http://code.google.com/p/producteev-api/wiki/methodsDescriptions
Please report any bugs to http://www.markhamilton.info/contact/