I’ve done this before and back then I wrote my own code to do it.
This was fair enough, I was only calling about 4 API methods.
But as I’ll be making a lot more use of the API this time I’m going to use Flickrj instead.
Flickrj is simply a Java wrapper around the Flickr API.
It seems to cover all the stuff that I want to do so no point writing my own interface.
The first thing that I usually do when using any new Java library is to get a copy of the Javadocs onto my local Web server and get a copy of the source code onto my machine.
I then set up Vim and ctags so that I can browse and jump to the source code from within Vim (sorta like an IDE, only not as good).
Having done that I started getting to grips with Flickrj.
Unfortunately the first thing I needed to do was to authenticate against Flickr.
Flickr’s authentication system is complicated but it’s also clever. A person can authenticate against Flickr via my site without providing me with any details about themselves. Clever.
It also works in slightly different ways depending on what type of app you are writing, Web, mobile or desktop.
Flickrj didn’t seem to be set up for Web authentication and I’m writing a Web app.
Time to start hacking on the Flickrj source code.
I moved the source for Flickrj into my project so it sat alongside my own – this way I could compile once and pick up any changes to both sets of code.
Once I had done this and added the method that I needed I got it to authenticate.
I then found a number of minor bugs in Flickrj, so I had to fix them too.
I then emailed the lead developer to ask if he wanted me to send him some patches, but I haven’t had a reply yet.
Right, that’s enough for now, next time I’ll talk about “robustifying” my app.
To go on with though, here are some random photos that I’ve taken in London these last few weeks.