Others have attempted this, but I believe my approach is philosophically different. I wanted this to be as easy to use as possible. So, grab your API key, create a project (WPF, Windows Store, Windows Phone, whatever) then run Add-Package bungie from the NuGet Package Console.
Everything you'll need to explicitly reference is in the Bungie namespace: [quote]using Bungie;[/quote]
Create a service with your API key:[quote]var service = new DestinyService(apiKey);[/quote]
Then go to town:[quote]var membershipId = await service.GetMembershipIdByDisplayName(MembershipType.Xbox, "kodefuguru");[/quote]
Methods are defined in IDestinyService, so dependency injection or decoration is no problem. The pattern of using an asynchronous service gateway is established, but method names/signatures and models are subject to change as I continue to map the platform.
All source code is released under the MIT License and available at [url]http://github.com/kodefuguru/bungie[/url].
Starred on github. This is great. Couple questions:
Have you rate limited the application, or at least, absorb Bungie's rate limiting errors?
Are you planning to keep this up to date? Bungie's api changes often enough.
Third, can you go back in time and have this ready on Destiny launch date so I don't have to write the huge mess I wrote :)