2010-10-31 101 views
3

我可以插入任何Google Reader API嗎?我建立在PHP乾淨的RSS/Atom閱讀器,並希望能得到所有從谷歌閱讀器的好東西像飼料的歷史,能夠將註釋添加到每個飼料項目等谷歌閱讀器API?

回答

9

我已經建立了在python一些谷歌閱讀器的集成,但我可以分享一些API知識,這樣你就可以上手。 output = json也適用於所有。

登錄:HTTPS www.google.com/accounts/ClientLogin

POST &電子郵件=電子郵件&的passwd =密碼&服務=讀者&源=應用程序的名字&繼續= HTTP://www.google.com

從響應抓鬥驗證=

下一頁擊中:www.google.com/reader/api/0/token

HEADER金thorization =的GoogleLogin AUTH = $驗證

這種反應變成$令牌會話。

從那裏,它只是打了一些網址總是順便指出AUTH頭,它包括在查詢字符串或交令牌。

獲取您的訂閱列表:www.google.com/reader/api/0/subscription/list?output=xml

要修改訂閱,這是基本URL加上行動的一些數據後執行

www.google.com/reader/api/0/subscription/edit?pos=0 &客戶= $源

POST添加性:s = $流&噸= $標題& T = $代幣& ac =訂閱

POST以除去性:s = $流& T = $令牌& AC =退訂

的$流一般飼料/ $ feedurl像這樣TechCrunch的,進料/ HTTP:// feeds.feedburner.com/Techcrunch

對不起不得不裂傷一些網址,因爲我沒有足夠的代表呢。

+0

謝謝!我的PHP RSS客戶端使用GR API似乎很「容易」。你有什麼樣的內置演示=) – 2010-11-06 22:15:13

+0

最好的例子是我在YouTube上發佈的這個視頻http://www.youtube.com/watch?v = UWnb7o0utfA – smilbandit 2010-11-07 03:22:59

+0

有沒有方法使用API​​在Google閱讀器中添加訂閱? 謝謝! – PinoyStackOverflower 2012-01-06 16:21:06

0

谷歌閱讀器對用戶的反饋。我想你可以使用這些。另外,他們準備好了PubSubHubbub,所以你會在他們發生的時候得到評論/喜歡...。

此外,由於2013年7月1日,谷歌閱讀器是沒有更多的。替代選項包括Superfeedr

+0

Yupp,知道=)可是我的用戶應該能夠添加/修改/刪除我的應用程序內的飼料,而飼料工作應該像谷歌讀者可以評論,添加註釋,分享等。 – 2010-10-31 15:20:02

2

這是Python中的工作示例:

import urllib, urllib2 
import json, pprint 

email, password = '[email protected]', 'nowayjose' 
clientapp, service = 'reader', 'reader' 

params = urllib.urlencode({'Email': email, 'Passwd': password, 'source': clientapp, 'service': service}) 
req = urllib2.Request(url='https://www.google.com/accounts/ClientLogin', data=params) 
f = urllib2.urlopen(req) 

for line in f.readlines(): 
    if line[0:5] == 'Auth=': 
    auth=line[5:] 

root = "http://www.google.com/reader/api/0/" 

req = urllib2.Request(root + "token") 
req.add_header('Authorization', 'GoogleLogin auth=' + auth) 
f = urllib2.urlopen(req) 
token = f.readlines()[0] 

# get user id 
req = urllib2.Request(root + "user-info?output=json&token="+token) 
req.add_header('Authorization', 'GoogleLogin auth=' + auth) 
f = urllib2.urlopen(req) 
dictUser = json.loads(f.read()) 
user_id = dictUser["userId"] 
print "user_id",user_id 

req = urllib2.Request(root + "subscription/list?output=json&token="+token) 
req.add_header('Authorization', 'GoogleLogin auth=' + auth) 
f = urllib2.urlopen(req) 

# for line in f.readlines(): 
#  print line 
dictSubscriptions = json.loads(f.read()) 

# pprint.pprint(dictSubscriptions) 
# print the first 3 subscription titles 
for i in dictSubscriptions["subscriptions"][0:2]: 
    print i["title"] 

req = urllib2.Request("http://www.google.com/reader/api/0/unread-count?output=json&token="+token) 
req.add_header('Authorization', 'GoogleLogin auth=' + auth) 
f = urllib2.urlopen(req) 
dictUnread = json.loads(f.read()) 
# pprint.pprint(dictUnread) 
# print the first 3 unread folders 
for i in dictUnread["unreadcounts"][0:3]: 
    print i["count"], i["id"] 

# this returns all starred items as xml 
req = urllib2.Request("http://www.google.com/reader/atom/user/"+user_id+"/state/com.google/starred?token="+token) 
req.add_header('Authorization', 'GoogleLogin auth=' + auth) 
f = urllib2.urlopen(req) 
starredItems = f.read()