Est-ce que Google Reader possède une API et si oui, comment puis-je connaître le nombre de messages non lus pour un utilisateur spécifique connaissant son nom d'utilisateur et son mot de passe?API Google Reader Nombre de lectures non lu
Répondre
Cette URL indique le nombre de messages non lus par flux. Vous pouvez ensuite itérer sur les flux et résumer les comptes.
http://www.google.com/reader/api/0/unread-count?all=true
Voici un exemple minimaliste en Python ... l'analyse syntaxique du XML/JSON et la somme des comptes est laissé comme un exercice pour le lecteur:
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
Et quelques liens supplémentaires sur le sujet:
Pour l'interst général - depuis les modifications apportées à l'API Google Reader en juin, cet exemple ne fonctionne plus ... – Joe
A l'heure actuelle, le 9 août 2010, cela ne fonctionne plus. –
Correction de cet exemple. Merci à livibetter - j'avais lu sur le SID -> Changement d'authentification, mais n'a pas vu le «service»: partie «lecteur» documentée n'importe où. – jimmyorr
C'est there. Toujours en bêta cependant.
Cette question répond à la question au fur et à mesure qu'elle est posée. S'il y a une raison pour laquelle l'auteur de la question ne le trouve pas suffisant, peut-être devrait-il modifier sa question pour clarifier. – EBGreen
Beaucoup d'informations sur ce site sont obsolètes. –
Autant que je le voudrais, ce n'est pas une API Google Reader officielle. Il s'agit simplement d'une supposition inversée qui peut se rompre à tout moment. – drozzy
Dans l'API affichée dans [1], le champ "jeton" devrait être "T"
Ceci n'est pas un article scientifique. Vous pouvez placer des liens [1] en ligne! :-) – drozzy
@drozzy Je travaille sous l'hypothèse que vous ne plaisantez pas.Tout ce que Yassin a fait, c'est manquer un colon. Un deux-points directement après la seconde [1] correspond à la syntaxe markdown et en fait un lien en ligne. Cela peut être plus rapide, aucun clic de souris nécessaire, puis en utilisant l'interface gui fournie. – Davorak
Désolé, je ne sais pas ce qui s'est passé en moi. – drozzy
Voici une mise à jour 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 retiré SID auth autour de Juin 2010 (je crois), l'utilisation de nouvelles auth de ClientLogin est la nouvelle façon et il est un peu plus simple (en-tête est plus courte) . Vous devrez ajouter service
dans les données pour demander Auth
, je ne remarqué Auth
retourné si vous n'envoyez pas le service=reader
.
Vous pouvez en savoir plus sur le changement de méthode d'authentification dans this thread.
- 1. Google Reader non lu Nombre
- 2. Comment marquer des éléments lus avec google reader API?
- 3. IMAP dans Php: marquage d'un message non lu/non lu
- 4. Suppression des posts à l'aide de l'API Google Reader
- 5. Ajout de notes à l'aide de l'API Google Reader
- 6. Obtenir la liste des tags pour un utilisateur de Google Reader api
- 7. Chargement dynamique des éléments dans Google Reader
- 8. Détection et contrôle des lectures de mémoire partagée non autorisées
- 9. Comment obtenir rss vieux articles comme google reader
- 10. API Google Data Javascript pour Google Agenda - Heure de l'événement non disponible
- 11. API de visualisation Google .net?
- 12. Google Search API Backend
- 13. Google analytics api
- 14. Pourquoi une erreur 401 (non autorisée) s'affiche-t-elle lors de la POSTATION sur l'API Google Reader?
- 15. Equivalent C# de Java non lu de PushbackReader()
- 16. Comment lire tous les flux google reader partagés par code?
- 17. API de recherche de profils Google
- 18. Microsoft Thumb Reader
- 19. API Google Maps et IE6
- 20. API Google Spreadsheet sur iPhone
- 21. API Google Analytics et .Net
- 22. Google Contacts API - trop risqué?
- 23. google données api pour youtube
- 24. API Google Calendar: java.lang.ClassNotFoundException: com.google.common.collect.Maps
- 25. API Google Calendar: GDataEntryCalendarEvent question
- 26. AuthSub/OAuth, ASP.NET et API Google
- 27. API de données Google Analytics [C# Design]
- 28. Deserialize JSON Google AJAX API de traduction
- 29. Pourquoi les lectures bloquent-elles les autres lectures dans MyISAM?
- 30. Instruments Analyse des lectures
@GateKiller: Je comprends la motivation pour lancer une balise « code demande » sur ce ... J'ai aussi une prime ouverte sur une question où la seule réponse est un lien vers la documentation de l'API (cassé), et m'énerve que je vais finir par payer 300 rep à quelqu'un qui vient de google mes mots-clés. – Shog9
Mais, l'étiquette ne sert à rien. Au contraire, vous devriez ajouter une note à votre question réelle indiquant que vous apprécieriez l'exemple de code. – Shog9