¿Google lector tiene una API y si es así, ¿cómo puedo obtener el recuento del número de mensajes no leídos para un usuario específico conocer su nombre de usuario y contraseña?API de Google Reader Unread Count
Respuesta
Esta URL le dará un recuento de publicaciones no leídas por feed. A continuación, puede iterar sobre los feeds y resumir los recuentos.
http://www.google.com/reader/api/0/unread-count?all=true
Aquí está un ejemplo minimalista en Python ... análisis del XML/JSON y sumando los conteos se deja como ejercicio para el lector:
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
y algunos enlaces adicionales en el tema:
Para interés general: desde los cambios realizados en la API de Google Reader en junio, este ejemplo ya no funciona ... – Joe
En este momento, el 9 de agosto de 2010, esto ya no funciona. –
Solucionado este ejemplo. Gracias a livibetter, leí en el SID -> Auth change, pero no vi el 'servicio': parte del 'lector' documentada en cualquier lugar. – jimmyorr
Es there. Aún en Beta, sin embargo.
Esta pregunta responde la pregunta tal como se pregunta. Si hay alguna razón por la cual el autor de la pregunta no lo considera suficiente, tal vez debería editar su pregunta para aclararla. – EBGreen
Mucha de la información en ese sitio está desactualizada. –
Por mucho que me gustaría, esta NO es una API oficial de Google Reader. Es simplemente una conjetura de ingeniería inversa que puede romperse en cualquier momento. – drozzy
En la API publicado en [1], el campo "señal" debe ser "T"
Esto no es un artículo científico. ¡Puedes colocar enlaces [1] en línea! :-) – drozzy
@drozzy Estoy trabajando bajo la suposición de que no bromeas.Todo lo que Yassin hizo fue perder dos puntos. Dos puntos inmediatamente después del segundo [1] se ajustan a la sintaxis de reducción y lo convierten en un enlace en línea. Esto puede ser más rápido, sin necesidad de hacer clic con el mouse, luego usando la interfaz gui proporcionada. – Davorak
Lo siento, no sé lo que me pasó. – drozzy
Aquí es una actualización de 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
Google Reader eliminado SID auth alrededor de junio de 2010 (creo), utilizando nueva autenticación de ClientLogin es la nueva forma y es un poco más simple (cabecera es más corto) . Usted tendrá que añadir service
de datos para solicitar Auth
, me di cuenta sin Auth
devueltos si usted no envía el service=reader
.
Puede leer más sobre el cambio de método de autenticación en this thread.
- 1. Agregar notas mediante la API de Google Reader
- 2. ¿Por dónde empezar con Google Reader como API?
- 3. Google Reader Api marcar todos como elemento como leído
- 4. ¿Cómo marcar elementos leídos con google reader API?
- 5. Problema de autenticación de Google Reader
- 6. ¿Puedo obtener datos de feed de Google Reader como JSON?
- 7. Múltiples etiquetas/carpetas en Google Reader
- 8. ¿Cómo puedo marcar un elemento como leído con Google Reader API (utilizando Python)
- 9. feedparser - recuperar los mensajes antiguos de Google Reader
- 10. Fotos de Google+ api
- 11. [iPhone - iOS] Necesito QRCode Reader API para iPhone
- 12. Cómo obtener rss elementos antiguos como google reader
- 13. ¿Cómo obtiene Google Reader cada elemento en una fuente RSS?
- 14. Google Earth API vs Google Earth COM API
- 15. Google Maps API v2 vs Google Maps API v3?
- 16. API de búsqueda de Google
- 17. Google Maps API limitaciones
- 18. Google images api
- 19. Google Distancia Matrix API
- 20. Google Form API?
- 21. Google speech API
- 22. Google Alerts API?
- 23. Google Suggest API
- 24. Google API para Python
- 25. Google Latitude API
- 26. Google goggles API
- 27. Obtener Google API Token
- 28. Geocodificación sin Google API?
- 29. Google Places API - REQUEST_DENIED
- 30. Google SERP API - Obtener
@GateKiller: entiendo la motivación para lanzar una etiqueta "código-solicitud" en este ... También tengo una recompensa abierta sobre una cuestión donde la única respuesta es un enlace a la documentación de la API (roto), y me irrita que termine pagando 300 repeticiones a alguien que solo buscó en Google mis palabras clave. – Shog9
Pero, la etiqueta no sirve para ningún propósito. Por el contrario, debe agregar una nota a su pregunta real indicando que apreciaría el código de muestra. – Shog9