Bookmarklet to download complete Google+ albums to Picasa #

PicasaWeb albums have an option to download the entire album to Picasa, which comes in quite handy when you'd like to have a complete archive of the pictures taken at an event. However, PicasaWeb URLs now redirect to the view of the album in Google+, which doesn't expose the equivalent command. There is a workaround for this (append noredirect=1 to the PicasaWeb URL), but it's rather involved. As an easier alternative, here's a bookmarklet:

Download to Picasa

If you invoke it on a Google+ photo album page, it'll try to launch Picasa and download that album (unless the owner has disabled that option).

The pretty-printed version of the bookmarklet script is:

(function(){
  var ALBUM_URL_RE =
      new RegExp('https://plus\\.google\\.com/photos/(\\d+)/albums/(\\d+)[^?]*(\\?.+)?');
  var match = ALBUM_URL_RE.exec(location.href);
  if (match) {
    location.href = 'picasa://downloadfeed/?url=' +
        'https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fback_compat%2Fuser%2F' + 
        match[1] + '%2Falbumid%2F' + match[2] + '%3F' +
        (match[3] ? encodeURIComponent(match[3].substring(1) + '&') : '') +
        'kind%3Dphoto%26alt%3Drss%26imgdl%3D1';
  } else {
    alert('Oops, not on a Google+ album page?');
  }
})();

The picasa://downloadfeed URL scheme was observed by looking at what happens when "Download to Picasa" is selected on a page through Chrome's DevTools' Network tab. The attempt at preserving query parameters is to that the authkey token and the like are passed on (unclear if it actually does anything though).

4 Comments

Is there a way to send links to PicasaWeb albums so that the receiver can open it in Picasaweb without further tech knowledge?

I think it was a really bad idea to make shared picasaweb albums redirect to G+ automatically. My non-tech relatives have a hard time working with G+, but are quite familiar with Picasaweb by now. Thanks in advance!
C: You can make noredirect=1 URLs from PicasaWeb, and send them to your relatives. See http://techmeasy.blogspot.com/2011/09/download-images-in-original-size-from.html for more information (just skip the part about downloading at the end).
Didn't work for me. I changed it for (added /u/0/ in URL) :
javascript:(function()%7Bvar match%3Dnew RegExp('https%3A%2F%2Fplus%5C%5C.google%5C%5C.com%2Fu%2F0%2Fphotos%2F(%5C%5Cd%2B)%2Falbums%2F(%5C%5Cd%2B)%5B%5E%3F%5D*(%5C%5C%3F.%2B)%3F').exec(location.href)%3Bif(match)%7Blocation.href%3D'picasa%3A%2F%2Fdownloadfeed%2F%3Furl%3Dhttps%253A%252F%252Fpicasaweb.google.com%252Fdata%252Ffeed%252Fback_compat%252Fuser%252F'%2Bmatch%5B1%5D%2B'%252Falbumid%252F'%2Bmatch%5B2%5D%2B'%253F'%2B(match%5B3%5D%3FencodeURIComponent(match%5B3%5D.substring(1)%2B'%26')%3A'')%2B'kind%253Dphoto%2526alt%253Drss%2526imgdl%253D1'%3B%7Delse%7Balert('Oops%2C not on a Google%2B album page%3F')%7D%7D)()%3B
Actually, the URL chages wether you're on Chrome or not !!! Weird...

This bookmarklet works with Firefox, webabar's one works with Crhome !

Thank you very much !

Post a Comment