Atom Feed for Google Reader Liked Items
This post shows a simple Python solution: use httplib2 and ClientLogin to request a Google auth token, then call the likes Atom feed with an Authorization header to dump your liked items. The example code is minimal and can be adapted to fetch other private feeds such as private folders.'
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/like1. 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.
