He empezado a trastear un poco con la API de Google para blogger y ya he tenido algún problemilla. La instalación de su librería es muy simple, y todo está bastante documentado. De hecho ya consigo hacer login contra los servicios de google, así que la cosa va bien.
El primer problema surge cuando intento hacer una tarea bastante sencilla: quiero listar todos los blogs que tengo en blogger (en este caso sólo dos). Esta es la función:
def printBlogs(self):
""" print the name of all your blogs
in blogger """
query_getBlogs = service.Query()
query_getBlogs.feed = "/feeds/default/blogs"
query_URI = query_getBlogs.ToUri()
feed = self.blogger_service.Get(query_URI)
print feed.title.text
for title in feed.entry:
print title
Hasta ahora nada complicado. El error que salta es este:
Traceback (most recent call last):
File "./bloggerTool.py", line 75, in
main()
File "./bloggerTool.py", line 72, in main
blogger.printBlogs()
File "./bloggerTool.py", line 41, in printBlogs
feed = self.blogger_service.Get(query_URI)
File "/opt/lib/python/gdata/service.py", line 485, in Get
server_response = atom.service.AtomService.Get(self, uri, extra_headers)
File "/opt/lib/python/atom/service.py", line 252, in Get
url_params, escape_params)
File "/opt/lib/python/atom/service.py", line 200, in _CreateConnection
connection.putrequest(http_operation, full_uri)
File "/usr/lib/python2.5/httplib.py", line 806, in putrequest
host_enc = self.host.encode("ascii")
AttributeError: 'NoneType' object has no attribute 'encode'
Como véis, tiene toda la pinta de haber algún problema con el método putrequest de la librería httplib.py (esta no es de Google. Es propia de python). De momento no veo por dónde van los tiros. De hecho el ejemplo que aparece en documentación de Google también falla. Aún no he encontrado la respuesta. Estoy empleando python 2.5.1 (Ubutu 7.10).
... ya os iré contando ... cuando esto esté solucionado os dejaré por aquí algo de código para cotillear :D:D
Saludos