Palestra apresentada no PythonBrasil[6] (Out/2010), na qual a recém-lançada API do Apontador é apresentada para os desenvolvedores com foco particular no uso com Python (através da biblioteca própria de código livre).
2. Palestrante
● Bacharel em Matemática Aplicada e
Computacional (IME/USP)
● Desenvolvedor profissional há 2e1 anos
● Python: cruzalinhas
● Arquiteto de Produtos no Apontador
● Twitter: @chesterbr
● Mais informações: http://chester.me
3. O que vamos ver
● Apontador
(empresa, site, plataforma)
● Apontador API
● Python e a Apontador API
● A vida, o universo e tudo mais
21. Possibilidades
● Criar sites/aplicativos novos
usando informações de locais
● Integrar nos já existentes
● Mashups com outros serviços
● Armazenar locais e informações
22. Regras do Jogo
● Dê linkback/crédito
● Abra a aplicação o ao público
● Mantenha o “fair play”
● Vários aplicativos diferntes é ok
● Uso comercial é ok!
● Uso acadêmico é muito ok!!!!
23. O que dá pra fazer?
● Busca local
● Informações, fotos, avaliações
● Segmentação (categorias)
● Informações do usuário
● Cadastrar coisas novas
34. Hello World
1) Cadastre seu usuário no
http://api.apontador.com.br
2) Entre na edição
do perfil, e lá
em aplicativos
35. Hello World
3) Clique em Criar Aplicativo e
informe os dados solicitados
4) O cadastro vai gerar o Consumer
Key e o Consumer Secret – eles
são o “usuário e senha” do app
5) Agora é só brincar de Python :-)
36. apontador-api-libs/python
>>> from apontador import ApontadorAPI
>>> api = ApontadorAPI(
consumer_key = "...",
consumer_secret = "...")
>>> api.search_places_by_address(
state="PR",
city="Curitiba",
term="Universidade Federal do Parana",
limit=1)
41. Mas veio certo mesmo?
<lat>-25.42722</lat>
<lng>-49.26154</lng>
42.
43. Postos na Região
>>> import json
>>> postos = json.loads(
api.search_places_by_point(
latitude=-25.42722,
longitude=-49.26154,
category_id=65,
type="json"))['search']['places']
>>> postos[0]['place']['name']
u'IRMAOS BERTOLDI LTDA'
>>> postos[1]['place']['name']
u'A. S. J - COMERCIO DE COMBUSTIVEIS LTDA'
>>> postos[2]['place']['name']
u'POSTO MONALISA CHEVRON R MARECHAL HERMES'
44. E o posto é bom?
>>> posto_id = postos[0]['place']['id']
>>> reviews = json.loads(
api.get_place_reviews(
posto_id,
type="json"))['place']['reviews']
>>> reviews[0]['review']['content']
u'Esse posto xe9 legal por causa da
localizaxe7xe3o...perto da pista de sk8
do gaxfacho...e o prexe7o xe9 bacana
tbm..mas o atendimento xe9 mto zoado...os
frentistas Sao Mt mal educados e sem
atencao...um dia que passei lxe1 tava
rolando ate uma briga entre a atendente do
caixa e os frentistas...Sxf3 recomendo se
vc tiver paciencia!'
45. Inserindo Informações
Não é obrigatório, mas:
● É mais fácil ter tudo num lugar
● Aumenta o engajamento
● Faz a plataforma crescer
49. OAuth
● Sua URL de callback é chamada,
recebendo o token e seu secret;
guarde-os com carinho
● Para apps desktop/mobile, use
PIN Code (vide pincode.py)
51. Aprenda Mais
● Veja os exemplos (na biblioteca)
● Documentação:
http://api.apontador.com.br
● Lista de discussão:
http://groups.google.com/group/
apontador-api
● Use o Apontador!
53. Futuro próximo
● Apontador Mobile (checkins)
● API JavaScript
● Informações setoriais (ex.: preço
da gasolina nos postos)
54. Meta de Longo Prazo
e missão pessoal
Trazer toda a Plataforma Apontador
para o lado open da força
55. Meta de Longo Prazo
e missão pessoal
Trazer toda a Plataforma Apontador
para o lado open da força
(ou conquistar 24 territórios
à nossa escolha)
56. Conclusões
Pensem “open” onde vocês
trabalham: o que a empresa tem
que pode ir pro mundo, com
vantagem para ambos?
A API está no ar, agora é com
vocês escrever os aplicativos!