Creating an RSS Feed for Your Google +1’s

This week Google dropped the ability to share items within Google Reader, instead they added way to +1 a story and/or share it in Google+. Unfortunately this broke another website I run, I previously used the shared items RSS feed to get a list of these shared stories on website. There is now no easy way to do this.

Of course there are several methods to create an RSS feed of my public post on Google+, so why didn’t I just do that? Well, for one thing I don’t post everything publicly, and two I don’t want to auto-spam everybody that has me circled with articles I’m interested in.

That left the +1 method. The stories you +1 in Google Reader show up nicely in your profile under the +1 tab. That is about all they do. +1 seem to be Google’s bastard child. You can’t get them through any API’s  or any other easy method. You’d think if there was a natural use for RSS it would be for +1s. So I decdied to figure out how to create the missing RSS feed for my (or anybody elses) public +1s.

While I could have tried coding something in PHP, I thought I’d try using a HMTL to RSS service instead and save myself some time. I remembered one such service that let you specify text delimiters for a specific items on a page and even break those items into text chunks that could be mapped to a title, a description, etc. After a long search I finally found the service I was looking for:  Feed43.

When you get to the site, go ahead and click the “Create your own feed link” on the right and follow these steps:

  1. Enter the address of your +1s in your Google+ profile,For instance mine is https://plus.google.com/u/0/110925720791814066383/plusones. You can ignore the box that is labeled encoding. Once you click reload, the site pulls up the worst looking HTML I’ve ever seen, fear not, you can ignore this. I used firebug to parse the feed instead, but if you don’t plan on making any changes you can just keep following the steps.
  2. In the box labeled Globel Search Pattern enter:

    {%}

    In the box labeled Item (repeatable) Search Pattern:

    (Sorry about the image, but if I put HTML into the post it won’t show correctly

    If all goes OK you’ll get green text saying (OK # items found)

  3. In this step you take the elements you extracted and create your feed, for instance this is how I chose to format my RSS feed:

    Clicking on preview will show you what your feed will look like.
  4. Once you’re happy with the way the feed looks, you can grab your new feed URL.

Update: 

In step 2, the expression needs to be updated to <div {*} class=”gr”… Google decided to add the aria-hidden=”true” property before the class definition and it screwed up the filter. I’d never seen any aria- properties before, evidently they have to do with accessibility.  Basically ARIA extends html to allow you to create elements other elements that you normally wouldn’t be able to tab to — allowing you to navigate more effectively with the keyboard.

Update 2:

Google changed the CSS again, I had to change the code in step 2 to this:

Again sorry for the picture, but embedding this code into the post causes chaos.

Update 3:

Evidently I updated my RSS item properties since I posted this. Here is what I have now:

While you’re at it take the {%2} out of the box labeled feed link, and put the link to the feed (eg http://feed43.com/7866848214517258.xml). I’m not sure what I was thinking there.

Update 4:

Google did it again they changed the CSS. Here’s the code in step 2 now:

Update 5:

Google did it yet again they changed the name of the CSS classes.  I’m not going to continue updating this post every time Google makes a change. If you can’t figure out how to change the code from the information I’ve provided above, drop me a line in the comments.

Update 6:

Somebody asked me for the most recent correct code so I’ll post it:

I’ve noticed lately that the feed URL doesn’t always return the feed the first time, sometimes it returns a blank. I’m only noticing it now that I’m using a WordPress plugin which loads the feed each time. When I was using Drupal, the plugin I was using, cached all the feed items and only added new ones when they appeared in the feed.

COMMENTS (8)

  • comment-avatar

    I can’t get the updated expressions to work, any thoughts?

  • comment-avatar

    Scott: Google changed the CSS again and I forgot to update the post. Check out the new expressions in Update2.

  • comment-avatar

    Thanks Ben, much appreciated. It looks like some of the parameters have switched around, different than what’s indicated in your example, like title, feed, etc. Quick question, how do I get the title of post to link back to the post? They currently don’t click through.

    Cheers!

  • comment-avatar

    Alright Scott, try Update 3. It’s what I’m currently using.

  • comment-avatar

    Got it, works now.

    One more quick note, the subscription tool seems to be broken, it resolves to this – http://blog.electronsmith.com/2011/11/01/creating-an-rss-feed-for-your-google-1s

    which gives me a 404. Just a heads up.

    Cheers!

  • comment-avatar

    Great to hear you got it working.

    When you say subscription tool…which link are you clicking on? I don’t see any links of that type. Are you doing it through WordPress.com?

    I can see one problem right away, I don’t have clean links (or whatever WP calls it) turned on, so all links to my site should be in the form http://blog.electronsmith.com/?p=

    I made the conscious decision to use ugly but short links rather than long verbose links a long time ago.

  • comment-avatar

    Yeah, it’s the WordPress tool. After I click ‘notify’ any follow-up on this post directs me to a non-functioning link as opposed to the url you’ve set up. Not sure if it’s something you need to change on their side.

    Thanks again. Great post.

  • comment-avatar

    I fixed the problem with non-functioning links. I didn’t realize that the subscribe to posts was going through wordpress through the Jetpack plugin. I changed to a new plugin so anybody following any posts (not sure why anybody would) has to resubscribe.