Share
Embed
Como construir uma Aplicação que consuma e produza updates no Twitter usando Python.
Apresentação no PUG-PE
Cirdes
July 03, 2000
Transcript
18 slides
-
V Encontro do Grupo de Usuários de Python de Pernambuco
Como construir uma Aplicação que consuma e produza updates no Twitter usando Python 3 de Julho de 2010 Cirdes Henrique twitter: cirdeshenrique email: [email protected] -
O Twitter • Fornece uma API Rest bem documentada e
fácil de usar http://apiwiki.twitter.com/Twitter-API-Documentation • Exemplo: • Statuses Update • URL ( http://api.twitter.com/1/statuses/update.format ) • Formats: (xml, json) • Usage examples: (curl -u user:password -d "status=playing with cURL and the Twitter API" http://api.twitter.com/1/statuses/update.xml) -
O App Engine • Infraestrutura da nossa aplicação • Vai
fazer requisições ao twitter • Vai armazenar algumas informações no BD • Vai permitir que ações sejam realizadas periodiacamente • Links •http://code.google.com/appengine/ •http://www.slideshare.net/amaralrodrigo/introduo-ao-google-app-engine -
Mineração de Dados na web • Com o Beautiful Soup
podemos coletar informações para enviar para o twitter • Se o XML/HTML estiver corrompido o Beautiful Soup não vai quebra • O Beautiful Soup tem métodos bem simples de busca de informações. • http://www.crummy.com/software/BeautifulSoup/ -
O que falta para enviar um update para o Twitter?
• Temos um Serviço no App Engine que pode enviar solicitações ao Twitter • Sabemos o formato da solicitação do Twitter • E sabemos como coletar as informações que queremos enviar para o Twitter • Ainda é preciso logar no Twitter COMO? -
An open protocol to allow secure API authorization in a
simple and standard method from desktop and web applications. O Auth começou em Novembro de 2006, quando Blaine Cook estava implementando o OpenID do Twitter. Blaine notou que não existia Nenhum Padrão aberto para acesso de API. • Permite que sejam usados Tokens ao invés de nomes de usuários e senhas • Cada Token permite o acesso de uma Aplicação específica • Abstração dos protocolos e dos padrões de autenticação • O privilégio de acesso pode ser removido a qualquer momento Oauth -
Twitter Api authentication • A maioria da chamadas da API
do Twitter precisam de autenticação •Timelines •Mentions •Retweets •Status Update • O Twitter suporta autenticação normal e por Oauth. Não é uma boa ideia pedir ao usuário seu login e sua senha O uso do Oauth permite usar a API do twitter sem precisar saber a senha do usuário • Cada aplicação tem uma Consumer Key e uma Consumer Secret • Cada usuário que é autenticado pela aplicação tem um Client Token e um Client Secret associado. -
Processo de Autenticação • Para fazer requisições autenticadas é preciso
passar pelo processo de autenticação • Redirecionar o usuário para que ele posso autorizar o uso da sua conta pela aplicação • O twitter redireciona denovo para a aplicação com todas as chaves necessárias para usar a API -
Usando Oauth com o App Engine • Primeiro precisamos criar
um Oauth consumer no twitter http://twitter.com/oauth_clients Guardar a Consumer Key e a Consumer Secret gerada -
Usando Oauth com o App Engine • Vamos precisar da
biblioteca de autenticação Oauth http://github.com/mikeknapp/AppEngine-OAuth-Library -
Usando Oauth com o App Engine • Como conseguir o
user_token e o user_secret ? -
Usando Oauth com o App Engine • Agora já podemos
fazer requisições autenticadas -
Usando Oauth com o App Engine •Automatizando as requisições com
o cron.yaml Exemplo: Formato do schedule Exemplo de schedules