A little while ago we released some new API methods that enabled real-time updates for new photo uploads to be pushed out via a PubSub-like subscription system. Initially you could only subscribe to photos from your contacts and favorites from your contacts. Which was pretty neat, but that barely scratches the surface of stuff that happens on Flickr that people might be interested in. So we added some more stuff to subscribe to. Calling
flickr.push.getTopics now gets you:
<rsp stat="ok"> <topics> <topic name="contacts_photos" display_name="photos from your contacts" /> <topic name="contacts_faves" display_name="favorites from your contacts" /> <topic name="photos_of_contacts" display_name="photos of your contacts" /> <topic name="photos_of_me" display_name="photos of you" /> <topic name="my_photos" display_name="your photos" /> <topic name="my_faves" display_name="your favorites" /> <topic name="geo" display_name="photos from an area (geo)" /> <topic name="commons" display_name="photos from the Flickr Commons" /> <topic name="tags" display_name="photos with a tag (or tags)" /> </topics> </rsp>
The details for the extra arguments required by the new topic types are part of the
flickr.push.subscribe API method documentation.
my_faves topic types are exactly like
contacts_faves, just scoped to your account. The
photos_of_contacts topic types create subscriptions that receive events when you or your contacts are tagged in a photo. The really interesting ones though are the next 3:
One of the great new subscription types is for photos from the Flickr Commons. Set the topic type to commons, and set the
nsids argument to a comma-separated list of NSIDs of Commons institutions you’re interested in (get them by calling
flickr.push.getInstitutions) or just leave
nsids empty to get all uploads and updates from the Commons.
geo topic type you can subscribe to photos from a particular area, specified as either a set of WOE IDs (also, here), a set of Flickr Place IDs, or by a point and a radius. The radial query is the obvious choice for creating subscriptions that aren’t well-known areas, or say, user-specified by dragging a circle on a map. WOE IDs on the other hand are incredibly useful since they represent many well-known geographic features. For example, London, England: WOE ID 44418.
Or, if you’re like me and completely mad about aviation and anything that flies, there are convenient WOE IDs for airports. Go somewhere like this, grab a bunch of airport codes for interesting places, use the Y! GeoPlanet APIs or the
flickr.places.find method) to resolve the airport codes into WOE IDs and put them into a comma-separated list in the woe_ids argument of flickr.push.subscribe and watch the aviation photos roll in. For example:
- Hong Kong International, China (HKG): 24875607
- Innsbruck Airport, Austria (INN): 12510823
- Keflavik International Airport, Iceland (KEF): 12513445
- Le Bourget Airport, Paris (LBG): 22137770
- Kuala Lumpur International Airport, Malaysia (KUL): 28752278
We’ve also added a very basic tag subscription type. With the topic type set to
tags, you can provide a comma-separated list of tag names in the
tags argument of
flickr.push.subscribe and receive uploads and updates from photos containing any (i.e. OR mode) of those tags. Try something like
kitten,cat (We’re not responsible for your bandwidth bill). The tags you specify should be all lower-case and not contain any spaces, so if you want to match something like “Justin Bieber” you’ll need to specify “justinbieber”. Coming soon: machine tags!
Warning: Code Alert!
In case you missed it, last month Kellan devoted a little Sunday-morning hack time to whipping up a little example of how to get started with the Flickr real-time APIs. It’s got a little bit about authentication, how to subscribe, processing a feed, and even some PHP. Thanks Kellan!