Diferencia entre revisiones de «Curso Python DGA 2011/servicios web/ejercicios clase/3rdparty»
(14 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
+ | {{:Curso Python DGA 2011/servicios_web/nav}} | ||
+ | |||
== REST == | == REST == | ||
Línea 24: | Línea 26: | ||
== Google APIs == | == Google APIs == | ||
+ | |||
+ | * Librerías para acceder al API: | ||
+ | |||
+ | |||
+ | {{Puntos clave|Title=Librerías para acceder al API| | ||
+ | * Google Api Python Client: | ||
+ | |||
+ | http://code.google.com/p/google-api-python-client | ||
+ | |||
+ | Descargar de aquí : http://code.google.com/p/google-api-python-client/downloads/list . | ||
+ | |||
+ | Descomprimir el archivo en algún lugar y por último ejecutar el siguiente comando: | ||
+ | |||
+ | # sudo ./setup.py install | ||
+ | |||
+ | También es compatible con setuptools y se puede instalar así: | ||
+ | |||
+ | # sudo easy_install google-api-python-client | ||
+ | |||
+ | * Gdata Python Client: | ||
+ | |||
+ | http://code.google.com/p/gdata-python-client | ||
+ | |||
+ | Descargar de aquí : http://code.google.com/p/gdata-python-client/downloads/list . | ||
+ | |||
+ | Descomprimir el archivo en algún lugar y por último ejecutar el siguiente comando: | ||
+ | |||
+ | # sudo ./setup.py install | ||
+ | |||
+ | |||
+ | }} | ||
+ | |||
+ | |||
+ | * Servicios accesibles: | ||
+ | Google Custom Search API | ||
+ | YouTube Data API | ||
+ | Google Maps Data API | ||
+ | URL shortener API | ||
+ | Google Calendar API | ||
+ | Google Documents List Data API | ||
+ | Picasa Web Albums Data API | ||
+ | Blogger Data API | ||
+ | Google Book Search API | ||
+ | Google Analytics API | ||
+ | Google Apps Provisioning API | ||
+ | Google Base Data API | ||
+ | Google Code Search Data API | ||
+ | Google Contacts API | ||
+ | ... | ||
+ | |||
+ | * Acceso a la consola de cuotas de uso de las APIs : | ||
+ | https://code.google.com/apis/console | ||
* Custom Search | * Custom Search | ||
+ | |||
+ | API : | ||
+ | http://code.google.com/intl/es/apis/customsearch/v1/overview.html | ||
+ | |||
+ | Cuota gratuita limitada a 100 búsquedas por día. | ||
+ | |||
+ | Si se necesita más se cobrarán $5 por cada 1000 consultas, hasta las 10,000 consultas por día. Si se necesitan más hay que pedir una cuota adicional. | ||
+ | |||
+ | En el ejemplo hace una busqueda de la cadena "python". Hay que sustituir el developer key por el que se nos de en la consola. | ||
* Maps | * Maps | ||
+ | |||
+ | API : | ||
+ | http://code.google.com/apis/maps/documentation/webservices/index.html | ||
+ | |||
+ | Tiene varios módulos: | ||
+ | *Directions API: Calcula direcciones entre localizaciones | ||
+ | *Distance Matrix API: Calcula tiempo y distancias para una matriz de origenes y destinos. | ||
+ | *Elevation API : Provee datos de elevación para todas las localizaciones de la superficie de la tierra. Si es negativa es bajo el mar. | ||
+ | *Geocoding API : Convierte direcciones en coordenadas y viceversa. | ||
+ | *Places API : Devuelve información sobre lugares. Servicios cercanos, restaurantes, cines, puntos interesantes, ... | ||
+ | |||
+ | |||
+ | En el ejemplo se obtiene la latitud y la longitud de una localidad, en este caso Zaragoza. | ||
* URL shortener | * URL shortener | ||
+ | |||
+ | API: | ||
+ | http://code.google.com/apis/urlshortener/v1/reference.html | ||
+ | |||
+ | Servicio para acortar URL en unos pocos caracteres y que asi sea más fácil poder usarlas en email, mensajes cortos, sms, ... | ||
+ | |||
+ | Requiere autentificación Oauth, que sale hecha en el ejemplo. Esto implica pegar una url en el navegador para darle permiso a la aplicación a acceder a nuestra cuenta de Google. | ||
+ | |||
+ | En el ejemplo se obtiene una url corta de la url de la documentacion del API de Google URL Shortener. | ||
* Calendar | * Calendar | ||
+ | |||
+ | API: | ||
+ | http://code.google.com/intl/es/apis/calendar/data/2.0/developers_guide_python.html | ||
+ | |||
+ | Permite ver y crear calendarios | ||
+ | |||
+ | Permite ver y crear eventos, hacer consultas sobre eventos, .... | ||
+ | |||
+ | En el ejemplo se crea un evento en el calendario con la fecha y la hora de la ejecución. | ||
* Docs | * Docs | ||
+ | |||
+ | API: | ||
+ | http://code.google.com/apis/documents/docs/3.0/developers_guide_python.html | ||
+ | |||
+ | Crear documentos, hojas de calculo, ... | ||
+ | |||
+ | Eliminarlas, subirlas, hacer búsquedas,... | ||
+ | |||
+ | En el ejemplo se añade 1 documento, 1 hoja de calculo y una presentacion vacias. Y luego se saca un listado de todos los documentos de la cuenta. | ||
* Youtube | * Youtube | ||
+ | |||
+ | API: | ||
+ | http://code.google.com/apis/youtube/1.0/developers_guide_python.html | ||
+ | |||
+ | Buscar, subir, descargar, eliminar videos,... | ||
+ | |||
+ | En el ejemplo se listan los videos subidos más recientemente. | ||
== Twitter == | == Twitter == | ||
+ | |||
+ | Twitter es una red de información de tiempo real que permite conectarte a lo que encuentras interesante. | ||
+ | |||
+ | Simplemente busca cuentas relevantes y sigue las conversaciones. | ||
+ | |||
+ | La clave de Twitter son pequeños pedazos de información llamados Tweets. | ||
+ | |||
+ | Cada Tweet tiene 140 caracteres de longitud. | ||
+ | |||
+ | |||
+ | |||
+ | API : | ||
+ | https://dev.twitter.com/docs/api | ||
+ | |||
+ | Hay que crear una nueva aplicación: | ||
+ | Se explica después | ||
+ | |||
+ | Librerías para facilitar el acceso: | ||
+ | http://code.google.com/p/python-twitter | ||
+ | |||
+ | Instalación librería: | ||
+ | sudo easy_install python-twitter | ||
+ | |||
+ | |||
+ | Para poder usar twitter se debe crear una “aplicación twitter” accediendo a esta URL : | ||
+ | https://dev.twitter.com/apps/new | ||
+ | No hace falta rellenar el Callback URL y hay que darle permisos de “Read and Write” sino no se pueden hacer posts. Esto nos dará dos datos CONSUMER KEY y CONSUMER SECRET. | ||
+ | Lo siguiente es obtener la credenciales Oauth para nuestra aplicación python, para ello viene un script con python-twitter que habrá que modificar para meter el COMSUMER KEY y el CONSUMER SECRET: | ||
+ | get_access_token.py | ||
+ | Nos pedirá que coloquemos una url en el navegador, para darle permiso con nuestro usuario y después del proceso nos dará un PIN que habrá que introducir para obtener otros 2 datos “Twitter Access Token Key” y “Access Token Secret” | ||
+ | |||
+ | Ahora en la aplicación python y haz el login como sigue: | ||
+ | |||
+ | api = twitter.Api(CONSUMER_KEY, CONSUMER_SECRET, TWITTER_ACCESS_TOKEN_KEY, ACCESS_TOKEN_SECRET) | ||
+ | |||
+ | |||
+ | {{Definicion|Title=Código de los ejercicios| | ||
+ | El código fuente de los ejercicios puede encontrarse en: https://github.com/neodoo/curso_python_dga_11/servicios_web/3rdParty/examples | ||
+ | }} |
Última revisión de 02:37 10 ago 2011
Contenido
REST
Ejemplo accediendo a Flickr.
Solicitar un API Key :
http://www.flickr.com/services/apps/create/apply/
Vamos a usar el metodo flickr.photos.getRecent
Con esta URL se puede probar que funciona bien el API_KEY:
http://api.flickr.com/services/rest/?method=flickr.photos.getRecent&api_key=<API_KEY>
JSON
Ejemplo accediendo a Microsoft API Translator.
Solicitar un API Key :
http://www.bing.com/developers
Vamos a usar el método Translate.
Con esta URL se puede probar que funciona bien:
http://api.microsofttranslator.com/V2/Ajax.svc/Translate?text=Hola%20Mundo&from=es&to=en&appId=<API_KEY>
Google APIs
- Librerías para acceder al API:
http://code.google.com/p/google-api-python-client Descargar de aquí : http://code.google.com/p/google-api-python-client/downloads/list . Descomprimir el archivo en algún lugar y por último ejecutar el siguiente comando: # sudo ./setup.py install También es compatible con setuptools y se puede instalar así: # sudo easy_install google-api-python-client
http://code.google.com/p/gdata-python-client Descargar de aquí : http://code.google.com/p/gdata-python-client/downloads/list . Descomprimir el archivo en algún lugar y por último ejecutar el siguiente comando: # sudo ./setup.py install
|
- Servicios accesibles:
Google Custom Search API YouTube Data API Google Maps Data API URL shortener API Google Calendar API Google Documents List Data API Picasa Web Albums Data API Blogger Data API Google Book Search API Google Analytics API Google Apps Provisioning API Google Base Data API Google Code Search Data API Google Contacts API ...
- Acceso a la consola de cuotas de uso de las APIs :
https://code.google.com/apis/console
- Custom Search
API :
http://code.google.com/intl/es/apis/customsearch/v1/overview.html
Cuota gratuita limitada a 100 búsquedas por día.
Si se necesita más se cobrarán $5 por cada 1000 consultas, hasta las 10,000 consultas por día. Si se necesitan más hay que pedir una cuota adicional.
En el ejemplo hace una busqueda de la cadena "python". Hay que sustituir el developer key por el que se nos de en la consola.
- Maps
API :
http://code.google.com/apis/maps/documentation/webservices/index.html
Tiene varios módulos:
*Directions API: Calcula direcciones entre localizaciones *Distance Matrix API: Calcula tiempo y distancias para una matriz de origenes y destinos. *Elevation API : Provee datos de elevación para todas las localizaciones de la superficie de la tierra. Si es negativa es bajo el mar. *Geocoding API : Convierte direcciones en coordenadas y viceversa. *Places API : Devuelve información sobre lugares. Servicios cercanos, restaurantes, cines, puntos interesantes, ...
En el ejemplo se obtiene la latitud y la longitud de una localidad, en este caso Zaragoza.
- URL shortener
API:
http://code.google.com/apis/urlshortener/v1/reference.html
Servicio para acortar URL en unos pocos caracteres y que asi sea más fácil poder usarlas en email, mensajes cortos, sms, ...
Requiere autentificación Oauth, que sale hecha en el ejemplo. Esto implica pegar una url en el navegador para darle permiso a la aplicación a acceder a nuestra cuenta de Google.
En el ejemplo se obtiene una url corta de la url de la documentacion del API de Google URL Shortener.
- Calendar
API:
http://code.google.com/intl/es/apis/calendar/data/2.0/developers_guide_python.html
Permite ver y crear calendarios
Permite ver y crear eventos, hacer consultas sobre eventos, ....
En el ejemplo se crea un evento en el calendario con la fecha y la hora de la ejecución.
- Docs
API:
http://code.google.com/apis/documents/docs/3.0/developers_guide_python.html
Crear documentos, hojas de calculo, ...
Eliminarlas, subirlas, hacer búsquedas,...
En el ejemplo se añade 1 documento, 1 hoja de calculo y una presentacion vacias. Y luego se saca un listado de todos los documentos de la cuenta.
- Youtube
API:
http://code.google.com/apis/youtube/1.0/developers_guide_python.html
Buscar, subir, descargar, eliminar videos,...
En el ejemplo se listan los videos subidos más recientemente.
Twitter es una red de información de tiempo real que permite conectarte a lo que encuentras interesante.
Simplemente busca cuentas relevantes y sigue las conversaciones.
La clave de Twitter son pequeños pedazos de información llamados Tweets.
Cada Tweet tiene 140 caracteres de longitud.
API :
https://dev.twitter.com/docs/api
Hay que crear una nueva aplicación:
Se explica después
Librerías para facilitar el acceso:
http://code.google.com/p/python-twitter
Instalación librería:
sudo easy_install python-twitter
Para poder usar twitter se debe crear una “aplicación twitter” accediendo a esta URL :
https://dev.twitter.com/apps/new
No hace falta rellenar el Callback URL y hay que darle permisos de “Read and Write” sino no se pueden hacer posts. Esto nos dará dos datos CONSUMER KEY y CONSUMER SECRET. Lo siguiente es obtener la credenciales Oauth para nuestra aplicación python, para ello viene un script con python-twitter que habrá que modificar para meter el COMSUMER KEY y el CONSUMER SECRET:
get_access_token.py
Nos pedirá que coloquemos una url en el navegador, para darle permiso con nuestro usuario y después del proceso nos dará un PIN que habrá que introducir para obtener otros 2 datos “Twitter Access Token Key” y “Access Token Secret”
Ahora en la aplicación python y haz el login como sigue:
api = twitter.Api(CONSUMER_KEY, CONSUMER_SECRET, TWITTER_ACCESS_TOKEN_KEY, ACCESS_TOKEN_SECRET)
El código fuente de los ejercicios puede encontrarse en: https://github.com/neodoo/curso_python_dga_11/servicios_web/3rdParty/examples |