Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Como construir uma Aplicação que consuma e pr...

Como construir uma Aplicação que consuma e produza updates no Twitter usando Python.

Apresentação no PUG-PE

Cirdes

July 03, 2000
Tweet

More Decks by Cirdes

Other Decks in Technology

Transcript

  1. 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]
  2. 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)
  3. 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
  4. 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/
  5. 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?
  6. 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
  7. 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.
  8. 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
  9. 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
  10. Usando Oauth com o App Engine • Vamos precisar da

    biblioteca de autenticação Oauth http://github.com/mikeknapp/AppEngine-OAuth-Library
  11. Usando Oauth com o App Engine • Agora já podemos

    fazer requisições autenticadas
  12. Usando Oauth com o App Engine •Automatizando as requisições com

    o cron.yaml Exemplo: Formato do schedule Exemplo de schedules