05 November 2011

This week's mystery

I'm building a little interface between my client's CMS and Flickr. The new tool will harvest images that the client (and its photographers on assignment) has posted to Flickr and will incorporate them into the CMS, with editors adding additional metadata subsequent to publication.

First let me say how impressed I am overall with the Flickr API. The services are comprehensive; names of things are consistent and parallel; each service has its own web-based test harness so you can try it out. And the API Just Works.

Now, to get the full-size images originally posted to Flickr, my interface app has to authenticate to Flickr using the OAuth protocol. This is somewhat fiddly code, but Flickr's documentation explains the process flow quite well, and with the help of the Scribe library from Pablo Ferndandez, I had my app working in short order.

Until this past week, that is. A few days ago I was actively working on my app and doing a lot of debugging and banging through the user authorization page. And then, sporadically, instead of the expected "[David's app] wants to link to your Flickr account." the page would display this message: "Oops! Flickr doesn't recognise the "oauth_token" this application is trying to use." Long story short, I tried just about everything, wiggling all the wires that I could, logging out of Flickr, restarting my Tomcat and Apache—and then sometimes the right page would appear and sometimes it wouldn't.

It turns out that other developers are experiencing the same problem. See, for instance, this discussion thread on the Flickr API group, as well as this post to Scribe's support board. No replies from Flickr's tech team as to what's going on. I suspect that Flickr is silently throttling the number of requests to the authorization page. This may not be a problem for my client when this tool goes into production, but it makes it dang hard to code and test.