API:Main page/es

From MediaWiki.org
Jump to: navigation, search

Atención visitantes

Esta página describe el permanente esfuerzo para proveer una API estable para el acceso conveniente a datos de MediaWiki legibles por máquinas.

Actualmente, MediaWiki dispone de cuatro (4) interfaces:

  • MediaWiki API - la nueva API descrita en estas páginas;
  • La página especial Exportar (exporta artículos en formato xml);
  • La interfaz común, basada en la web.
Tools clipart.png Esta página es parte de la documentación de la API MediaWiki.
Idioma: English  • Deutsch • español • français • Bahasa Indonesia • 日本語 • 한국어 • русский • українська • 粵語 • 中文 • 中文(台灣)‎
API de MediaWiki

El servicio web del API de MediaWiki (o Web API) ofrece un fácil acceso a articulos wiki, datos y metadatos.

Introducción[edit | edit source]

Esta puede ser usada como guía en una instalación de MediaWiki, o para crear un robot (bot) para mantenimiento automatico. Se provee un directo acceso a nivel alto a la información contenida en las bases de datos de MediaWiki. Los programas clientes pueden registrarse en un wiki, obtener información, y publicar cambios automaticamente al hacer una petición HTTP al servicio web. Las aplicaciones permitidas incluyen robots (bots), pequeños programas clientes basados en web de Javascript como son Popups de Navegacion y LiveRC, aplicaciones independientes (como vandal fighter), y por otros sitios web (utilidades Toolserver ).

En instalaciones nuevas de MediaWiki, el servicio web esta habilitado predeterminadamente, pero un administrador puede desactivarla.

MediaWiki tiene dos nuevas interfaces de salida:

Un ejemplo sencillo[edit | edit source]

Esta URL manda una llamada al API del servicio web de Wikipedia en Inglés para que te devuelva el contenido de la pagina principal

http://en.wikipedia.org/w/api.php?format=json&action=query&titles=Main%20Page&prop=revisions&rvprop=content

Usa cualquier lenguaje de programación para realizar una petición HTTP GET para esa URL (o solamente visita ese enlace en tu navegador), y tu obtendras un documento JSON que incluye el actual wiki de la pagina titulada "Main Page". Cambiando el formato a jsonfm regresara un HTML "identado" como buen resultado al depurar.

El endpoint[edit | edit source]

http://en.wikipedia.org/w/api.php Este es el endpoint.

Es como la pagina de inicio del servicio web del API de Mediawiki. Esta URL es la URL base del API de Wikipedia en Inglés, así como http://en.wikipedia.org/wiki/ es la URL base para este sitio web.

Si tu estas escribiendo un programa para usar la Wikipedia en Inglés, cada URL que tu construyas empezara con la URL base. Si tu estas usando una instalación diferente de MediaWiki, tu tendras que buscar su endpoint y usarlo en su lugar. Todos los wikis de Wikimedia tiene endpoints que siguen este patron:

http://en.wikipedia.org/w/api.php      # API Wikipedia en Inglés
http://es.wikipedia.org/w/api.php      # API Wikipedia en Español
http://nl.wikipedia.org/w/api.php      # API Wikipedia en Aleman
http://commons.wikimedia.org/w/api.php # API Wikimedia Commons
Versión de MediaWiki: 1.17

Desde r75621, nosotros tenemos descubrimiento RSD para los endpoint: busca el link rel="EditURI" en el codigo HTML de cualquier pagina y extrae la URL api.php; el enlace actual contiene información adicional. Por ejemplo, en este wiki es:

<link rel="EditURI" type="application/rsd+xml" href="//www.mediawiki.org/w/api.php?action=rsd" />

De otra manera, no hay una via segura de localizar el endpoint en cualquier wiki. Si tienes suerte, ya sea que la ruta completa a index.php no se oculte bajo reglas de reescritura extraños por lo que tendrias solamente que tomar el link de "Editar" (o historial) y reemplazar index.php (etc.) con api.php, o tu podrias usar el ScriptPath predeterminado (como w/api.php).

Ahora pasemos a los parametros de las cadenas de consulta en URLs.

El formato[edit | edit source]

format=jsonEsto le dice al API del servicio web de Wikimedia que nosotros queremos que la informacion sea regresada en formato JSON.

Tu tambien podrias querer probar format=jsonfm para obtener una version HTML del resultado que es bueno para la depuración. A pesar de que la API es compatible con muchos formatos de salida como son WDDX, XML, YAML y PHP nativo, hay algunos planes para remover todos los formatos excepto JSON, entonces tu podrias no querer usarlos.

El action (acción)[edit | edit source]

action=query Este es el action (acción).

El servicio web del API de MediaWiki cuenta con cerca de 50 acciones, y todas ellas documentadas en el API de referencia. En este caso particular, nosotros usamos "query" (consulta) para mandarle al API que nosotros queremos obtener alguna información.

El action (acción) "query" es una de las acciones más importantes, por lo cual existe una documentación para la acción "query" .

A continuación veremos un ejemplo sencillo de implementación del action "query".

Parámetros específicos de acciones[edit | edit source]

titles=Main%20Page

El resto del URL de ejemplo contiene parámetros usados por el action "query". Aquí, nosotros le indicaremos al servicio web del API que queremos información de la pagina Wiki llamada "Main Page" (Pagina Principal). (El %20 viene del código por ciento que en este caso equivale a un espacio.) Si tu requieres trabajar con varias paginas a la vez, por favor considera obtener todas en una sola petición para optimizar la red y los recursos de los servidores: titles=PageA|PageB|PageC. Consulta la documentación para la acción "query" .

Cada módulo de la API emplea un conjunto de parámetros. Para prevenir la colisión de nombres, cada submódulo de action=query (llamados submódulos de consulta) tiene una abreviatura de dos letras, y el nombre de cada parámetro comienza con esas dos letras a modo de prefijo.

Enlaces útiles[edit | edit source]

En el menú de la derecha puedes acceder a las distintas secciones de esta documentación.

  • Puede obtener una breve ayuda y guía de parámetros de la API misma;
  • Lista de correo para notificaciones y preguntas: Lista de correo API;
  • Ver y reportar bugs (errores) de la API: BugZilla (cuando reporte nuevos errores, no se olvide de especificar Component=API).

Archivo[edit | edit source]