New Tutorial and Updates for the SoundCloud AS3 API

I just wrote a new tutorial for the SoundCloud AS3 API, “How to Go Through OAuth Authentication in a Single Browser Window”. This tutorial explains how to set up a web-based Flash application in a way that the user stays in the same browser window during the OAuth authentication and does not need to copy /paste the verification code manually.

For example, this could be a good solution for a music player that lets users listen to their favourite SoundCloud playlists. It works without any backend services by using some Javascript and the Local Shared Object aka “Flash Cookie”. The tutorial requires some basic knowledge of how to pass variables to Flash, a little bit of JavaScript and intermediate AS3 skills.

The basic concept of the solution applies to every other API using OAuth 1.0a as well, so you also might find this tutorial interesting if you use Flash clients to access the API’s of Google Apps, Twitter or MySpace.

You can find the tutorial on the GitHub wiki pages of the SoundCloud AS3 API. It includes the full code of an example application made with Flash CS4. If you have questions or comments regarding this tutorial, please leave a comment here on this post.

Recently I have also corrected an error in the documentation of the AS3 API: You can’t compile the sources without the Flex framework, because the OAuth library that I use needs some Flex utility classes. I wasn’t aware of this dependency before (thanks to Marc for giving me the hint!). So if you want to include the SoundCloud API in a Flash CS4 project you have to use the pre-compiled SWC file instead of the .as sources. I have updated the docs and Flash example files accordingly.

The AS3 API repository on GitHub was apparently corrupted after the last update, which seems to have been caused by a known bug of the egit plugin for Eclipse (thanks to Matas for pointing this out ;) I have just fixed the repo and use SmartGit now to push updates to GitHub. I hope this will prevent such issues in the future.