API:Tutorial Action API

From mediawiki.org
This page is a translated version of the page API:Tutorial and the translation is 93% complete.

Neste tutorial, você aprenderá sobre a função Action API do MediaWiki, como usá-la, formato de solicitação, uma consulta simples e exemplos de projetos usando Action API.

Overview of the MediaWiki Action API

A API é uma REST completa, web service que permite aos usuários realizar certas ações wiki como criação de página, autenticação, análise, pesquisa, etc. API:Página principal é um bom ponto de partida para entender a API.

Seu programa envia solicitações à API para obter acesso aos recursos da wiki. Por exemplo, efetua autenticação/login em uma wiki, cria uma página, edita, pesquisa um título, pesquisa um texto de conteúdo, analise o conteúdo. A API de ação está disponível para desenvolvedores terceirizados, desenvolvedores de extensões Wikimedia e administradores de sites wiki.

On the right sidebar of this page, there are many features that are supported by the API, grouped by category. Antes de enviar solicitações para um servidor wiki, primeiro leia as páginas de visão geral, como formatos de dados, erros e avisos e as Perguntas frequentes da API.

Como usar a API

Como usuário você pode solicitar dados ao servidor noformato HTTP e obter a resposta no formato padrão (normalmente JSON). Uma solicitação consiste em um endpoint e um conjunto de parâmetros. Existem dois tipos de solicitação que podem ser feitas:GET and POST. Para uma solicitação GET, um parâmetro conteria uma string de consulta na URL. Para uma solicitação POST, os parâmetros precisam estar no formato JSON.

Formato da solicitação

Todos as wikis da Wikimedia têm endpoints neste formato http://example.org/w/api.php. Para operar no site principal do MediaWiki ou na Wikipedia em inglês, use o endpoint relacionado. Por exemplo, a Wikipédia em inglês é https://en.wikipedia.org/w/api.php. Para testar novas contas ou testar edições em páginas, use o endpoint do wiki de teste https://test.wikipedia.org/w/api.php.

Na string de consulta no URL, adicione o parâmetro action. Ele informa para a API qual ação executar. A ação mais popular é query (o URL conteria action=query), que permite buscar dados de uma wiki. Após o parâmetro action, adicione outro parâmetro para indicar qual dos três tipos de módulo de consulta você deseja executar:

  • prop - Obter as propriedades da página  
  • list - Lista de páginas que correspondem a um critério.
  • meta - Obter meta informações sobre a wiki e o usuário

Por fim, inclua o parâmetro format, que informa à API em qual formato obter os resultados. O formato recomendado é o JSON (a API suportou outros formatos de saída no passado, mas não são recomendados).

Request format
Request format

Uma pesquisa simples

Vamos dar um exemplo de uma pesquisa simples (em inglês: query) para entender como seria uma solicitação GET e sua resposta típica no contexto da Action API.

Vamos pesquisar um título em uma wiki, usaremos o módulo search documentado em API:Search .

Solicitações GET

Para pesquisar títulos de páginas ou um conteúdo correspondente a Craig Noone, o formato da URL para fazer uma solicitação HTTP GET seria:

Explicação de cada parte da URL:

  • http://en.wikipedia.org/w/api.php é o ponto final principal. Neste caso, é a Wikipédia em inglês.
  • action=query é para pesquisar dados do wiki.
  • list=search é para obter uma lista de páginas que correspondem a um critério.
  • srsearch=Craig%20Noone indica o título da página ou o conteúdo a ser pesquisado. O %20 indica um caractere de espaço em uma URL.
  • format=json indica a saída JSON (formato de saída recomendado).

Resposta

A resposta é um documento no formato JSON com uma lista de títulos de páginas que correspondem a Craig Noone:

{
    "batchcomplete": "",
    "continue": {
        "sroffset": 10,
        "continue": "-||"
    },
    "query": {
        "searchinfo": {
            "totalhits": 210
        },
        "search": [
            {
                "ns": 0,
                "title": "Craig Noone",
                "pageid": 18846922,
                "size": 22548,
                "wordcount": 1771,
                "snippet": "<span class=\"searchmatch\">Craig</span> Stephen <span class=\"searchmatch\">Noone</span> (born 17 November 1987) is an English professional footballer who plays as a winger for Bolton Wanderers. Born in Kirkby, he has also",
                "timestamp": "2018-11-02T22:25:45Z"
            },
            {
                "ns": 0,
                "title": "Noone",
                "pageid": 32906333,
                "size": 553,
                "wordcount": 64,
                "snippet": "<span class=\"searchmatch\">Noone</span> is a surname that may refer to:  <span class=\"searchmatch\">Craig</span> <span class=\"searchmatch\">Noone</span> (born 1987), English football midfielder Jimmie <span class=\"searchmatch\">Noone</span> (1895–1944), American jazz clarinetist Kathleen",
                "timestamp": "2015-08-16T05:16:17Z"
            }
            ...
        ]
    }
}


Examples of projects using Action API

Alguns exemplos de projetos na Wikimedia que usam Action API:

  • Wikipedia iOS App, em que um dos recursos é pesquisar páginas wiki perto de sua localização.
  • Bots que operam em uma wiki, o Pywikibot é uma estrutura de bot desenvolvido com a linguagem de programação Python, criando uma interface com a API MediaWiki que muitos desenvolvedores de bot usam.
  • Uso da API na visualização de dados obtidos de uma wiki. Como esta visualização elegante que mostra edições em tempo real feitas na Wikipedia.

Ajuda adicional

  • Vários sites estão usando o MediaWiki. Todos eles podem estar executando uma versão diferente do MediaWiki e, por sua vez, a API. Alguns parâmetros de módulo suportados em uma versão podem ser obsoletos ou removidos em outras. Você pode ver as diferenças na documentação de cada módulo via API help module.
  • Se quiser fazer muitas consultas com a API, ou talvez executar bots muito ativos, converse com os administradores da wiki com antecedência, para que eles não sejam bloqueados. Veja a lista de Administradores de projetos da Wikimedia. Leia mais sobre este tópico em API:Etiqueta .
  • Todas as ações de modificação de dados, como registrar, editar ou mover uma página e observar ou patrulhar as alterações exigem tokens. Obtenha tokens por meio de API:Tokens para prosseguir.

Recursos