While you can make your Google Reader starred and shared items public available, I found no way to do the same for my liked items. There isn't even a link from inside Google Reader to view your liked items.
But you can view your liked items if you open the following url http://www.google.com/reader/view/user/-/state/com.google/like. And there is even an Atom feed available http://www.google.com/reader/atom/user/-/state/com.google/like. The problem is that you have to be logged in to view the feed. So here is a small script to do a Google ClientLogin and dump the atom feed.
import httplib2 from urllib import urlencode client = httplib2.Http('cache') def request_auth_token(email, passwd): """request auth token from google see: http://code.google.com/apis/accounts/ http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html """ url = 'https://www.google.com/accounts/ClientLogin' headers = {'Content-type': 'application/x-www-form-urlencoded'} body = urlencode({'Email': email, 'Passwd': passwd, 'service': 'reader'}) response, content = client.request(url, 'POST', headers=headers, body=body) assert response['status'] == '200' #if status == 403 check for Error=CaptchaRequired resp_data = dict(x.split('=') for x in content.split('\n') if x) return resp_data["Auth"] def likes_feed(auth): url = "http://www.google.com/reader/atom/user/-/state/com.google/like" headers = {'Authorization': 'GoogleLogin auth=%s' % auth} response, content = client.request(url, 'GET', headers=headers) return content if __name__ == '__main__': email = "XXX@gmail.com" passwd = "XXX" auth = request_auth_token(email, passwd) print likes_feed(auth)
The same method should work to get the content of private folders in Google Reader.