Czy Czytnik Google ma interfejs API i jeśli tak, w jaki sposób mogę uzyskać liczbę nieprzeczytanych wpisów dla określonego użytkownika znającego jego nazwę użytkownika i hasło?Czytnik Google API Nieprzeczytany numer
Odpowiedz
Ten adres URL poda liczbę nieprzeczytanych wpisów na kanał. Następnie możesz powtórzyć dane z kanałów i zsumować liczby.
http://www.google.com/reader/api/0/unread-count?all=true
Oto minimalistyczny przykład w Pythonie ... parsowania XML/JSON i zsumowanie liczby pozostawiamy jako ćwiczenie dla czytelnika:
import urllib
import urllib2
username = '[email protected]'
password = '******'
# Authenticate to obtain SID
auth_url = 'https://www.google.com/accounts/ClientLogin'
auth_req_data = urllib.urlencode({'Email': username,
'Passwd': password,
'service': 'reader'})
auth_req = urllib2.Request(auth_url, data=auth_req_data)
auth_resp = urllib2.urlopen(auth_req)
auth_resp_content = auth_resp.read()
auth_resp_dict = dict(x.split('=') for x in auth_resp_content.split('\n') if x)
auth_token = auth_resp_dict["Auth"]
# Create a cookie in the header using the SID
header = {}
header['Authorization'] = 'GoogleLogin auth=%s' % auth_token
reader_base_url = 'http://www.google.com/reader/api/0/unread-count?%s'
reader_req_data = urllib.urlencode({'all': 'true',
'output': 'xml'})
reader_url = reader_base_url % (reader_req_data)
reader_req = urllib2.Request(reader_url, None, header)
reader_resp = urllib2.urlopen(reader_req)
reader_resp_content = reader_resp.read()
print reader_resp_content
a niektóre dodatkowe linki na temat:
Dla ogólnej liczby odwiedzin - od czasu wprowadzenia zmian w Google Reader API w czerwcu ten przykład już nie działa ... – Joe
W tej chwili 9 sierpnia 2010 r. To już nie działa. –
Naprawiono ten przykład. Dzięki livibetter - przeczytałem na SID -> Auth change, ale nie widziałem części "service": "czytnik" udokumentowanej gdziekolwiek. – jimmyorr
To jest there. Wciąż jednak w wersji Beta.
To pytanie odpowiada na pytanie, które jest zadawane. Jeśli jest jakiś powód, dla którego autor pytania nie uważa go za wystarczający, może powinien edytować swoje pytanie w celu wyjaśnienia. – EBGreen
Wiele informacji na tej stronie jest nieaktualnych. –
Tak bardzo, jak chciałbym, to NIE jest oficjalnym api aplikacji Google Reader. Jest to jedynie domysły odwrotne, które mogą się w każdej chwili złamać. – drozzy
w API pisał w [1] "żeton" pole powinno być "T"
To nie jest artykuł naukowy. Możesz umieścić linki [1] w linii! :-) – drozzy
@drozzy Pracuję przy założeniu, że nie żartujesz.Wszyscy Yassinowi brakowało dwukropka. Dwukropek bezpośrednio po drugim [1] pasuje do składni markdown i sprawia, że jest linkiem wbudowanym. Może to być szybsze, bez kliknięć myszką, a następnie przy użyciu dostarczonego interfejsu GUI. – Davorak
Przepraszam, nie wiem co mi się stało. – drozzy
Oto aktualizacja this answer
import urllib
import urllib2
username = '[email protected]'
password = '******'
# Authenticate to obtain Auth
auth_url = 'https://www.google.com/accounts/ClientLogin'
#auth_req_data = urllib.urlencode({'Email': username,
# 'Passwd': password})
auth_req_data = urllib.urlencode({'Email': username,
'Passwd': password,
'service': 'reader'})
auth_req = urllib2.Request(auth_url, data=auth_req_data)
auth_resp = urllib2.urlopen(auth_req)
auth_resp_content = auth_resp.read()
auth_resp_dict = dict(x.split('=') for x in auth_resp_content.split('\n') if x)
# SID = auth_resp_dict["SID"]
AUTH = auth_resp_dict["Auth"]
# Create a cookie in the header using the Auth
header = {}
#header['Cookie'] = 'Name=SID;SID=%s;Domain=.google.com;Path=/;Expires=160000000000' % SID
header['Authorization'] = 'GoogleLogin auth=%s' % AUTH
reader_base_url = 'http://www.google.com/reader/api/0/unread-count?%s'
reader_req_data = urllib.urlencode({'all': 'true',
'output': 'xml'})
reader_url = reader_base_url % (reader_req_data)
reader_req = urllib2.Request(reader_url, None, header)
reader_resp = urllib2.urlopen(reader_req)
reader_resp_content = reader_resp.read()
print reader_resp_content
Czytnik Google usunięto autoryzację SID około czerwca 2010 (myślę), użycie nowego Auth z ClientLogin jest nowym sposobem i jest nieco prostsze (nagłówek jest krótszy) . Będziesz musiał dodać service
w danych do żądania Auth
, zauważyłem, że nie zwróciłem Auth
, jeśli nie wyślesz service=reader
.
Możesz przeczytać więcej na temat zmiany metody uwierzytelniania w this thread.
- 1. czytnik linii papilarnych lub czytnik kciuków
- 2. Czytnik wielowątkowy?
- 3. szyny twilio api numer wydania
- 4. Jak zdobyć stare produkty, takie jak czytnik google
- 5. Dostęp AutoFocus/Flash z Google Vision Czytnik kodów kreskowych
- 6. python czytnik libxml2 i XML_PARSE_RECOVER
- 7. Wiele znaki czytnik
- 8. Czytnik kodu Pythona
- 9. Uzyskaj numer telefonu komórkowego z Facebooka api
- 10. Google SERP API - dostać
- 11. Zdjęcia Google api
- 12. Google gogle API
- 13. Interfejs API alertów Google?
- 14. Recenzje w Google API
- 15. Google umieszcza klucz Api
- 16. Google Maps API DeletedApiProjectMapError
- 17. Google Autofill API
- 18. Google Geolokacja API IP
- 19. Miejsca Google API - REQUEST_DENIED
- 20. Android google translate API
- 21. Google API zaloguj się
- 22. Google Moje mapy - API
- 23. Google Webmaster Tools API
- 24. Google Speech API V2
- 25. Zdjęcia z Google+ api
- 26. Biblioteka Google Geolocation API
- 27. google-files-api
- 28. Android Miejsca Google autouzupełnianie nie działa pod numer
- 29. Google books API i niezbędność klucza API
- 30. Dysk Google API interfejsu API javascript
@GateKiller: Rozumiem motywację do rzucania na to znacznika "żądania kodu" ... Mam również otwartą nagrodę w pytaniu, w którym jedyną odpowiedzią jest link do (zepsutej) dokumentacji API, a także irytuje mnie, że w efekcie wypłacę 300 powtórzeń komuś, kto tylko wyszukał moje słowa kluczowe. – Shog9
Ale tag nie służy żadnemu celowi. Zamiast tego należy dodać notatkę do faktycznego pytania stwierdzającego, że docenisz przykładowy kod. – Shog9