How to delete posts from Google Reader
Posted by ark, ,
I'm pretty sure you know that if anyone reads your feeds in google reader then a feed of every single post that you've ever made is available from Google Reader. This is a great resource. I'm a firm believer that a lot of my social content should be ephemeral and only last a few weeks before it is obliterated from the corpus. That's why I wrote feedfixer.py which marks feeds as private and also replaces old posts with tombstones. In a tombstone post the subject and body of the feed item is blanked out, Google dutifully replaces the contact with this blank content and thus the original content is erased. My Feed-App also tombstones posts from old private blogger feeds and feeds created by forwarding email to it.

This tombstone idea is great for deleting posts and especially useful for those cases where you publish an item and then immediately delete it in blogger. I think the delete post button in blogger should have a big huge warning that you're only deleting it from your site and that a copy of this post likely lives in many feed aggregators, especially Google Reader. Alternatively the delete button in blogger should also make a tombstone for the post in the feed. But it doesn't, so oftentimes you post a post, delete it and then end up seeing the post in your rss reader anyway because the moment you posted, something pinged something else (perhaps via pubsubhubbub) and bam your content was fetched via rss/atom.

O.K. that was a long winded statement of the problem, hopefully it had enough keywords to catch the searchers out there. Here's how you delete a post from Google Reader, first the theory, then the tool to make it easier.

You can get a feed directly from Google Reader with a URL like this. Just URL escape the feed location and add it to the end.
http://www.google.com/reader/public/atom/feed/http%3A//googleblog.blogspot.com/atom.xml

Inside that feed is an element like this:


can page further back by taking the gr:continuation value in the

response and adding it as a ?c= query parameter.

http://www.google.com/reader/public/atom/feed/http%3A//googleblog.blogspot.com/atom.xml?c= CZZZZq83akC

downloadfeed.py

is a program that will fetch ALL the feeds just give it a feed URL

if you're looking to obliterate a secret from your blog....

(fgrep -l secret *.[0-9][0-9][0-9].xml | while read fil; do xmllint -format $fil | egrep 'original-id|secret' ; done) | less

then make a new feed with those guids and an empty (I use a single space) subject/body/link

tah dah.

Comments

Crystal
It is complicated... I wish to understand it but I can't...