<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Manoel Lemos .Com &#187; Tutoriais</title>
	<atom:link href="http://manoellemos.com/category/tutoriais/feed/" rel="self" type="application/rss+xml" />
	<link>http://manoellemos.com</link>
	<description>meu canto na internet</description>
	<lastBuildDate>Sun, 29 Nov 2009 22:26:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Integrando o Zapt.In com o Twitter</title>
		<link>http://manoellemos.com/2009/11/29/integrando-o-zapt-in-com-o-twitter/</link>
		<comments>http://manoellemos.com/2009/11/29/integrando-o-zapt-in-com-o-twitter/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 14:49:38 +0000</pubDate>
		<dc:creator>mlemos</dc:creator>
				<category><![CDATA[Integrações]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Projetos]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[encurtador de url]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[url shortening]]></category>
		<category><![CDATA[zapt.in]]></category>
		<category><![CDATA[zaptin]]></category>

		<guid isPermaLink="false">http://manoellemos.com/?p=338</guid>
		<description><![CDATA[Uma das funcionalidades mais desejadas para o Zapt.In é uma integração maior com o Twitter. Claro que isto pode significar muitas coisas, mas para nós, estamos pensando em três categorias de integrações: a) integração com clientes do Twitter para que pessoas usando aplicativos como Twitterrifc, Tweetie, Echofon e outros possam utilizar o Zapt.In diretamente destes [...]]]></description>
			<content:encoded><![CDATA[<p>Uma das funcionalidades mais desejadas para o <a href="http://zatp.in">Zapt.In</a> é uma integração maior com o <a href="http://twitter.com">Twitter</a>. Claro que isto pode significar muitas coisas, mas para nós, estamos pensando em três categorias de integrações: a) integração com clientes do Twitter para que pessoas usando aplicativos como <a href="http://iconfactory.com/software/twitterrific">Twitterrifc</a>, <a href="http://www.atebits.com/tweetie-iphone/">Tweetie</a>, <a href="http://echofon.com/">Echofon</a> e outros possam utilizar o Zapt.In diretamente destes aplicativos; b) integração do site do Zapt.In com o Twitter para que seja mais simples compartilhar links do Zapt.In através do Twitter (como faz o <a href="http://bit.ly">Bit.Ly</a>); e c) integração com o Twitter para monitorar quais os links mais tuitados e re-tuitados pelos usuários (como faz o <a href="http://migre.me">Migre.Me</a>).</p>
<p>Estou correndo para garantir que estas três categorias de integrações aconteçam, mas infelizmente, não tenho como fazê-las ao mesmo tempo e, no caso da integração com aplicativos, não tenho poder para fazê-la sozinho (preciso da colaboração dos seus respectivos desenvolvedores).</p>
<p>Mas o legal é que a integração do site do Zapt.In com o Twitter já foi concluída e está disponível para você. Ela utiliza a tecnologia <a href="http://oauth.net/">OAuth</a> (veja também a <a href="http://apiwiki.twitter.com/OAuth-FAQ">FAQ do Twitter sobre OAuth</a>) e permite que você associe sua conta do Twitter a sua conta do Zapt.In, sem ter que fornecer seu login e senha do Twitter. OAuth é uma das maneiras mais seguras de integração de serviços na rede.</p>
<p>Bom, mas chega de &#8220;bla-bla-bla&#8221; e vamos ao que interessa: integrar sua conta do Zapt.In com o seu Twitter:</p>
<h2>1. Encurte um LINK através do Zapt.In</h2>
<p>Basta digitar uma URL ou usar nosso Bookmarklet.</p>
<p><a title="View 'Zapt.In integrado com o Twitter' on Flickr.com" href="http://www.flickr.com/photos/37022807@N00/4143973896"><img style="float:none;" src="http://farm3.static.flickr.com/2485/4143973896_1701de75c2.jpg" border="0" alt="Zapt.In integrado com o Twitter" width="500" height="109" /></a></p>
<h2>2. Clique no botão &#8220;Compartilhar&#8221;</h2>
<p>Para compartilhar um link pelo Twitter, basta clicar no botão &#8220;<strong>Compartilhar</strong>&#8221; de qualquer link que você vir no Zapt.in.</p>
<p>Se você ainda não tiver associado sua conta do Zapt.In à sua conta do Twitter, você verá a seguinte mensagem:</p>
<p><a title="View 'Zapt.In integrado com o Twitter' on Flickr.com" href="http://www.flickr.com/photos/37022807@N00/4143973820"><img style="float:none;" src="http://farm3.static.flickr.com/2492/4143973820_6ccaaaf8d9.jpg" border="0" alt="Zapt.In integrado com o Twitter" width="500" height="146" /></a></p>
<p>Clicando no link indicado, você será redirecionado para uma página do Twitter, onde poderá autorizar o Zapt.In a usá-lo em seu nome, de maneira segura.</p>
<h2>3. Autorizando o Zapt.In a se conectar ao seu Twitter</h2>
<p>Ao clicar no link, você será redirecionado para uma página do Twitter, onde você será questionado se deseja autorizar a associação da sua conta ao Zapt.In ou não. Clique no botão &#8220;<strong>Allow</strong>&#8221; (Permitir).</p>
<p><a title="View 'Zapt.In integrado com o Twitter' on Flickr.com" href="http://www.flickr.com/photos/37022807@N00/4143973766"><img style="float:none;" src="http://farm3.static.flickr.com/2672/4143973766_f076bb227a.jpg" border="0" alt="Zapt.In integrado com o Twitter" width="500" height="216" /></a></p>
<p>Verifique se a conta que você está associando ao Zapt.In é realmente a conta que você deseja autorizar. Se não for, clique na opção &#8220;<strong>Sign out</strong>&#8221; (Sair) e siga as instruções.</p>
<h2>4. Pronto, agora é só compartilhar seus links</h2>
<p>Quando você autorizar o Zapt.In a utilizar sua conta do Twitter, você será redirecionado de volta ao Zapt.In e estará pronto para compartilhar seus links diretamente, a partir do site do Zapt.In.</p>
<p>Quando sua conta estiver autorizada, ao clicar no botão &#8220;<strong>Compartilhar</strong>&#8220;, surgirá um pequeno formulário para escrever sua mensagem (tweet) e enviá-la através do Twitter.</p>
<p><a title="View 'Zapt.In integrado com o Twitter' on Flickr.com" href="http://www.flickr.com/photos/37022807@N00/4143214027"><img style="float:none;" src="http://farm3.static.flickr.com/2745/4143214027_edf07157d0.jpg" border="0" alt="Zapt.In integrado com o Twitter" width="500" height="181" /></a></p>
<p>Para sua comodidade, o link curto já estará dentro do campo da mensagem, mas você poderá customizá-la como quiser. Observe que existe um contador de quantos caracteres  ainda restam (lembrando que o máximo permitido pelo Twitter são 140 caracteres).</p>
<p><a title="View 'Zapt.In integrado com o Twitter' on Flickr.com" href="http://www.flickr.com/photos/37022807@N00/4143213959"><img style="float:none;" src="http://farm3.static.flickr.com/2646/4143213959_31fed82b22.jpg" border="0" alt="Zapt.In integrado com o Twitter" width="500" height="181" /></a></p>
<p>Com sua mensagem devidamente preparada, basta clicar no botão &#8220;<strong>Enviar Tweet</strong>&#8220;, que o tweet será enviado em seu nome. Veja um exemplo de como ficará a mensagem enviada através do Zapt.In:</p>
<p><a title="View 'Zapt.In integrado com o Twitter' on Flickr.com" href="http://www.flickr.com/photos/37022807@N00/4143973556"><img style="float:none;" src="http://farm3.static.flickr.com/2803/4143973556_36fb6dd307_o.png" border="0" alt="Zapt.In integrado com o Twitter" width="425" height="265" /></a></p>
<p>É isto, boas tuitadas!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://manoellemos.com/2009/11/29/integrando-o-zapt-in-com-o-twitter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Configurando o Zapt.In no Tweetie para iPhone</title>
		<link>http://manoellemos.com/2009/11/26/configurando-o-zapt-in-no-tweetie-para-iphone/</link>
		<comments>http://manoellemos.com/2009/11/26/configurando-o-zapt-in-no-tweetie-para-iphone/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 20:19:58 +0000</pubDate>
		<dc:creator>mlemos</dc:creator>
				<category><![CDATA[Integrações]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Projetos]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[bit.ly]]></category>
		<category><![CDATA[encurtador]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[migre.me]]></category>
		<category><![CDATA[tweetie]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[zapt.in]]></category>
		<category><![CDATA[zaptin]]></category>

		<guid isPermaLink="false">http://manoellemos.com/?p=332</guid>
		<description><![CDATA[Olá, no último post falei de um novo projeto que coloquei no ar, o Zapt.In, um encurtador de URLs brazuca (sim, mais um, hehe). E nos últimos dias liberei algumas novas funcionalidades no Zapt.In. A mais interessante delas é a versão inicial da API de Desenvolvimento do Zapt.In. Mas o tema deste post não é [...]]]></description>
			<content:encoded><![CDATA[<p>Olá, no último post falei de um novo projeto que coloquei no ar, o <a href="http://manoellemos.com/2009/11/23/zapt-in-entendendo-e-brincando-com-os-encurtadores-de-url/">Zapt.In, um encurtador de URLs brazuca</a> (sim, mais um, hehe). E nos últimos dias liberei algumas novas funcionalidades no Zapt.In. A mais interessante delas é a versão inicial da <a href="http://zapt.in/pages/api">API de Desenvolvimento do Zapt.In</a>. Mas o tema deste post não é a API, mas sim como colocar o <a href="http://zapt.in">Zapt.In</a> para funcionar no <a href="http://www.atebits.com/tweetie-iphone/">Tweetie</a>, um dos melhores clientes do <a href="http://twitter.com">Twitter</a> para <a href="http://www.apple.com/iphone/">iPhone</a>.</p>
<p>Bom, mas chega de bla bla bla e vamos ao que interessa&#8230;</p>
<h2>1. Conseguindo sua Chave da API do Zapt.In </h2>
<p>Para utilizar a API do Zapt.In, você precisa pegar sua chave da API. Para isto faça seu login no Zapt.In e clique na opção &#8220;<strong>Perfil</strong>&#8221; do menu de usuário. Na página com informações de seu perfil você verá sua Chave da API.</p>
<p><a href="http://www.flickr.com/photos/37022807@N00/4134440155" title="View 'Zapt.In : Menu do Usuário' on Flickr.com"><img src="http://farm3.static.flickr.com/2784/4134440155_6633ff7e8d_o.png" alt="Zapt.In : Menu do Usuário" border="0" width="368" height="47" /></p>
<p><a href="http://www.flickr.com/photos/37022807@N00/4134440069" title="View 'Zapt.In : Chave da API' on Flickr.com"><img src="http://farm3.static.flickr.com/2632/4134440069_52c9ba0bff_o.png" alt="Zapt.In : Chave da API" border="0" width="516" height="232" /></a></p>
<h2>2. Agora abra o Tweetie em seu iPhone</h2>
<p>Teta, basta clicar no ícone do Tweetie em seu springboard:</p>
<p><a href="http://www.flickr.com/photos/37022807@N00/4136853680" title="View 'Zapt.In no Tweetie do iPhone' on Flickr.com"><img src="http://farm3.static.flickr.com/2725/4136853680_3017a1393a_o.png" alt="Zapt.In no Tweetie do iPhone" border="0" width="320" height="480" /></a></p>
<h2>3. Configure o Tweetie para usar o Zapt.In</h2>
<p>Na tela inicial do Tweetie (para escolhar qual conta você vai usar), clique no botão &#8220;<strong>Settings</strong>&#8221; (configurações):</p>
<p><a href="http://www.flickr.com/photos/37022807@N00/4136853624" title="View 'Zapt.In no Tweetie do iPhone' on Flickr.com"><img src="http://farm3.static.flickr.com/2788/4136853624_e1a7ca4846_o.png" alt="Zapt.In no Tweetie do iPhone" border="0" width="320" height="480" style="float:none;"/></a></p>
<p>Depois clique na opção &#8220;<strong>URL Shortening</strong>&#8221; (encurtamento de URLs):</p>
<p><a href="http://www.flickr.com/photos/37022807@N00/4136853586" title="View 'Zapt.In no Tweetie do iPhone' on Flickr.com"><img src="http://farm3.static.flickr.com/2507/4136853586_ebee726a44_o.png" alt="Zapt.In no Tweetie do iPhone" border="0" width="320" height="480" style="float:none;"/></a></p>
<p>Depois escolha a opção &#8220;<strong>Custom</strong>&#8221; (Customizado) para configurar o Zapt.In:</p>
<p><a href="http://www.flickr.com/photos/37022807@N00/4136853550" title="View 'Zapt.In no Tweetie do iPhone' on Flickr.com"><img src="http://farm3.static.flickr.com/2682/4136853550_3571cfeda1_o.png" alt="Zapt.In no Tweetie do iPhone" border="0" width="320" height="480"  style="float:none;"/></a></p>
<p>Agora é colocar a URL da API do Zapt.In no campo de customização. A URL deve ficar da seguinte forma:</p>
<pre style="font-size:125%;overflow:auto;">

http://zapt.in/api/links/shorten?version=1.0&#038;login=SEU_LOGIN&#038;key=SUA_CHAVE&#038;longUrl=%@
</pre>
<p>Não se esqueça de substituir os valores <strong>SEU_LOGIN</strong> e <strong>SUA_CHAVE</strong> pelos valores de sua conta no Zapt.In!!</p>
<p><a href="http://www.flickr.com/photos/37022807@N00/4136091397" title="View 'Zapt.In no Tweetie do iPhone' on Flickr.com"><img src="http://farm3.static.flickr.com/2555/4136091397_727484cf01_o.png" alt="Zapt.In no Tweetie do iPhone" border="0" width="320" height="480" style="float:none;" /></a></p>
<p>Depois de colocar a URL clique no botão &#8220;save&#8221; (salvar) e você estará pronto para usar o Tweetie com o Zapt.In.</p>
<h2>3. Agora é só usar&#8230;</h2>
<p>Digite sua mensagem com uma URL longa que você deseja encurtar. Depois clique no botãozinho que fica no campo da mensagem com a contagem de caracteres:</p>
<p><a href="http://www.flickr.com/photos/37022807@N00/4136853432" title="View 'Zapt.In no Tweetie do iPhone' on Flickr.com"><img src="http://farm3.static.flickr.com/2660/4136853432_f7427c2648_o.png" alt="Zapt.In no Tweetie do iPhone" border="0" width="320" height="480" style="float:none;" /></a></p>
<p>Agora é só clicar no botão &#8220;<strong>Shrink URLs</strong>&#8221; (Comprimir URLs) e as URLs longas de sua mensagem serão magicamente encurtadas pelo Zapt.In:</p>
<p><a href="http://www.flickr.com/photos/37022807@N00/4136853322" title="View 'Zapt.In no Tweetie do iPhone' on Flickr.com"><img src="http://farm3.static.flickr.com/2698/4136853322_76886d6238_o.png" alt="Zapt.In no Tweetie do iPhone" border="0" width="320" height="480" style="float:none;"/></a></p>
<p>Eeeeba&#8230; agora só faltam dois zilhões de outras aplicações suportarem o Zapt.in!!! ;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://manoellemos.com/2009/11/26/configurando-o-zapt-in-no-tweetie-para-iphone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Para Entender a Internet : Metodologias Ágeis</title>
		<link>http://manoellemos.com/2009/03/26/para-entender-a-internet-metodologias-ageis/</link>
		<comments>http://manoellemos.com/2009/03/26/para-entender-a-internet-metodologias-ageis/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 04:12:17 +0000</pubDate>
		<dc:creator>mlemos</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Projetos]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[colaboração]]></category>
		<category><![CDATA[conceitos]]></category>
		<category><![CDATA[desafios]]></category>
		<category><![CDATA[livro digital]]></category>
		<category><![CDATA[metodologias ágeis]]></category>
		<category><![CDATA[noções]]></category>
		<category><![CDATA[paraentender]]></category>
		<category><![CDATA[práticas]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://manoellemos.com/?p=263</guid>
		<description><![CDATA[&#8220;Para entender a Internet &#8211; Noções, práticas e desafios da comunicação em rede&#8221; é o resultado de um trabalho colaborativo organizado pelo Juliano Spyer (autor do livro Conectado) e com a participação de um incrível trupe de colaboradores. O livro foi lançado via Twitter no dia 17 de Março às 18 horas. O blog oficial [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/mlemos/3369816090/" title="Para Entender a Internet : Capa by manoellemos, on Flickr"><img src="http://farm4.static.flickr.com/3425/3369816090_a1e98ed541.jpg" width="354" height="500" alt="Para Entender a Internet : Capa" /></a></p>
<p>&#8220;Para entender a Internet &#8211; Noções, práticas e desafios da comunicação em rede&#8221; é o resultado de um trabalho colaborativo organizado pelo <a href="http://www.naozero.com.br/">Juliano Spyer</a> (autor do livro <a href="http://books.google.com.br/books?id=UksDs0jcBXwC&#038;pg=PA7&#038;dq=conectado+%2B+zahar&#038;sig=ACfU3U2GAk0ta2dsupmJ2AkemggzOq-qgw#PPA1,M1">Conectado</a>) e com a participação de um <a href="http://www.naozero.com.br/autores-para-entender">incrível trupe de colaboradores</a>. O livro foi <a href="http://twitter.com/jasper/status/1344562277">lançado via Twitter</a> no dia 17 de Março às 18 horas. O <a href="http://paraentenderainternet.blogspot.com/">blog oficial</a> conta com todos os capítulos na íntegra e também com os links para fazer o <a href="http://paraentenderainternet.blogspot.com/2009/01/baixe-o-pdf-do-livro.html">download do livro completo em PDF</a>. Nele você encontra feras como <a href="http://paraentenderainternet.blogspot.com/2009/01/creative-commons-ronaldo-lemos.html">Ronaldo Lemos</a>, meu primo falando de Creative Commons, <a href="http://paraentenderainternet.blogspot.com/2009/01/mobile-luli-radfahrer.html">Luli Radfahrer</a> animalizando sobre mobile, <a href="http://paraentenderainternet.blogspot.com/2009/01/whuffie-cris-dias.html">Cris Dias</a> conceitualizando <a href="http://en.wikipedia.org/wiki/Whuffie">Whuffie</a> e capital social e o próprio <a href="http://paraentenderainternet.blogspot.com/2009/01/web-20-juliano-spyer.html">Juliano Spyer</a> que escreveu sobre Web 2.0.</p>
<p>Tive a honra e a oportunidade de ser um dos colaboradores convidados pelo Juliano Spyer para fazer parte desta turma. Recebei uma mensagem pelo <a href="http://twitter.com/mlemos">Twitter</a> dizendo que ele queria falar comigo durante o <a href="http://manoellemos.com/2009/01/11/campus-party-2009-a-maior-festa-geek-do-planeta/">Campus Party</a>. Conversamos ali mesmo e fui convidado a escrever o capítulo sobre a conceito das &#8220;<a href="http://paraentenderainternet.blogspot.com/2009/01/metodologias-geis-manoel-lemos.html">Metodologias Ágeis</a>&#8220;, assunto que muito me interessa e que faz parte de meu dia-a-dia na <a href="http://webcointernet.com/">WebCo</a> e na <a href="http://abril.com.br/">Abril Digital</a>. O legal de um livro todo construído através da Internet é a possibilidade de contar com a colaboração dos leitores sobre o conteúdo do mesmo. Logo que o blog oficial foi ao ar alguns leitores perceberam um erro num dos parágrafos finais de meu texto. Eles enviaram comentários através do próprio blog e já estamos coletando várias correções para soltar uma versão atualizada do PDF. Bingo!!! Ganhou a colaboração, a interação e a Internet. Ganhamos todos!!!</p>
<p>É isto, <a href="http://paraentenderainternet.blogspot.com/2009/01/baixe-o-pdf-do-livro.html">baixe o livro</a>, <a href="http://paraentenderainternet.blogspot.com/2009/01/tres-formas-de-interferir.html">interfira</a> e ajude a torná-lo ainda melhor.</p>
<p>HeyHo!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://manoellemos.com/2009/03/26/para-entender-a-internet-metodologias-ageis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tutorial : Integrando sua aplicação Ruby (ou Rails) com o Twitter</title>
		<link>http://manoellemos.com/2009/03/17/tutorial-integrando-sua-aplicacao-ruby-ou-rails-com-o-twitter/</link>
		<comments>http://manoellemos.com/2009/03/17/tutorial-integrando-sua-aplicacao-ruby-ou-rails-com-o-twitter/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 23:44:51 +0000</pubDate>
		<dc:creator>mlemos</dc:creator>
				<category><![CDATA[Integrações]]></category>
		<category><![CDATA[Projetos]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tuiter]]></category>
		<category><![CDATA[tuitersfera]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[webco]]></category>

		<guid isPermaLink="false">http://manoellemos.com/?p=247</guid>
		<description><![CDATA[Nesta semana liberamos a implementação da API do Twitter que desenvolvemos e utilizamos no mais novo projeto da Webco, a Tuitersfera. Liberamos a API no GitHub com o nome de Tuiter (isto mesmo, Tuiter com TU, bem abrasileirado). Neste post farei um pequeno tutorial de introducão ao uso da Gem Tuiter para integrar sua aplicação [...]]]></description>
			<content:encoded><![CDATA[<p>Nesta semana liberamos a implementação da <a href="http://github.com/webco/tuiter">API do Twitter</a> que desenvolvemos e utilizamos no <a href="http://manoellemos.com/2009/03/15/tuitersfera-mapeando-o-uso-do-twitter-no-brasil/">mais novo projeto da Webco, a Tuitersfera</a>. Liberamos a API no GitHub com o nome de <a href="http://github.com/webco/tuiter">Tuiter</a> (isto mesmo, Tuiter com TU, bem abrasileirado). Neste post farei um pequeno tutorial de introducão ao uso da <a href="http://github.com/webco/tuiter">Gem Tuiter</a> para integrar sua aplicação com o Twitter.</p>
<h2>Instalando a gema Tuiter</h2>
<p>Se você ainda não adicionou o <a href="http://github.com/">GitHub</a> às suas fontes de gemas, execute o comando abaixo. Se já fez isto, pule este passo e vá direto para o comando seguinte para a instalação da gema.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="" style="font-family:monospace;">% gem sources -a http://gems.github.com</pre></td></tr></table></div>

<p>Instalando a gema em seu computador:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="" style="font-family:monospace;">% sudo gem install webco-tuiter</pre></td></tr></table></div>

<h2>Testando a instalação </h2>
<p>Para testar a instalação, basta você abrir o interpretador Ruby e executar os comandos abaixo. Utilize seu usuário do Twitter e sua senha na chamada que instancia a classe cliente da API. Se tudo der certo, o código deve apresentar a sua descrição (de seu perfil) no Twitter.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rubygems'</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'tuiter'</span>
&nbsp;
cli = <span style="color:#6666ff; font-weight:bold;">Tuiter::Client</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:username</span><span style="color:#006600; font-weight:bold;">=&gt;</span><span style="color:#996600;">&quot;seu_login&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:password</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;sua_senha&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
voce = cli.<span style="color:#9900CC;">get_user</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;seu_login&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
<span style="color:#CC0066; font-weight:bold;">puts</span> voce.<span style="color:#9900CC;">description</span></pre></td></tr></table></div>

<p>Todos os métodos de manipulação da API estão na classe <strong>Client</strong>.</p>
<h2>Atualizando seu status no Twitter</h2>
<p>Para atualizar seu status no Twitter basta usar o método <strong>update()</strong> da classe <strong>Client</strong>. Veja:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rubygems'</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'tuiter'</span>
&nbsp;
cli = <span style="color:#6666ff; font-weight:bold;">Tuiter::Client</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:username</span><span style="color:#006600; font-weight:bold;">=&gt;</span><span style="color:#996600;">&quot;seu_login&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:password</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;sua_senha&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
cli.<span style="color:#9900CC;">update</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;Olá mundo, estou no Twitter!!!&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span></pre></td></tr></table></div>

<h2>Consultando seus @replies</h2>
<p>Utilize o método <strong>get_replies()</strong> da classe <strong>Client</strong>. Este método trará os 20 últimos updates recebidos pelo usuário que você usou para inicializar a classe <strong>Client</strong>. Você pode pegar mais replies paginando os resultados, para isto basta passar o parâmetro <strong>page</strong> na chamada do método. O código abaixo mostrará seus 40 últimos replies:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rubygems'</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'tuiter'</span>
&nbsp;
cli = <span style="color:#6666ff; font-weight:bold;">Tuiter::Client</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:username</span><span style="color:#006600; font-weight:bold;">=&gt;</span><span style="color:#996600;">&quot;seu_login&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:password</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;sua_senha&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
replies = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span>
replies <span style="color:#006600; font-weight:bold;">|</span>= cli.<span style="color:#9900CC;">get_replies</span>
replies <span style="color:#006600; font-weight:bold;">|</span>= cli.<span style="color:#9900CC;">get_replies</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:page</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
replies.<span style="color:#9900CC;">each</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>reply<span style="color:#006600; font-weight:bold;">|</span>
  <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;From #{reply.user.screen_name} @ #{reply.created_at.to_s} : #{reply.text}&quot;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<h2>Enviando uma mensagem direta (direct)</h2>
<p>Utilize o método <strong>direct_new()</strong> da classe <strong>Client</strong>. Os parâmetros são o <strong>id</strong> ou o <strong>login</strong> do usuário para quem você deseja enviar a mensagem e a <strong>mensagem</strong> a ser enviada. Veja:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rubygems'</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'tuiter'</span>
&nbsp;
cli = <span style="color:#6666ff; font-weight:bold;">Tuiter::Client</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:username</span><span style="color:#006600; font-weight:bold;">=&gt;</span><span style="color:#996600;">&quot;seu_login&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:password</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;sua_senha&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
cli.<span style="color:#9900CC;">direct_new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;crisdias&quot;</span>,<span style="color:#996600;">&quot;olá cris, quanto vale um whuffie?&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span></pre></td></tr></table></div>

<h2>Consultando dados de um usuário</h2>
<p>Para isto você deve usar o método <strong>get_user</strong> da classe <strong>Client</strong>. O resultado é um objeto da classe <strong>ExtendedUser</strong> e ela contém métodos para consultar cada atributo de um usuário. Veja:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rubygems'</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'tuiter'</span>
&nbsp;
cli = <span style="color:#6666ff; font-weight:bold;">Tuiter::Client</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:username</span><span style="color:#006600; font-weight:bold;">=&gt;</span><span style="color:#996600;">&quot;seu_login&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:password</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;sua_senha&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
edney = cli.<span style="color:#9900CC;">get_user</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;interney&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
<span style="color:#CC0066; font-weight:bold;">puts</span> edney.<span style="color:#9900CC;">name</span>  <span style="color:#008000; font-style:italic;"># Nome do usuário</span>
<span style="color:#CC0066; font-weight:bold;">puts</span> edney.<span style="color:#9900CC;">screen_name</span>  <span style="color:#008000; font-style:italic;"># Login do usuário</span>
<span style="color:#CC0066; font-weight:bold;">puts</span> edney.<span style="color:#9900CC;">description</span>  <span style="color:#008000; font-style:italic;"># Descrição do perfil do usuário</span>
<span style="color:#CC0066; font-weight:bold;">puts</span> edney.<span style="color:#9900CC;">url</span>  <span style="color:#008000; font-style:italic;"># URL do perfil do usuário</span>
<span style="color:#CC0066; font-weight:bold;">puts</span> edney.<span style="color:#9900CC;">followers_count</span>  <span style="color:#008000; font-style:italic;"># Quantidade de seguidores do usuário</span>
<span style="color:#CC0066; font-weight:bold;">puts</span> edney.<span style="color:#9900CC;">friends_count</span>  <span style="color:#008000; font-style:italic;"># Quantidade de amigos (pessoas que ele segue) do usuário</span>
<span style="color:#CC0066; font-weight:bold;">puts</span> edney.<span style="color:#9900CC;">location</span>  <span style="color:#008000; font-style:italic;"># Localização do perfil do usuário</span></pre></td></tr></table></div>

<h2>Dicas finais</h2>
<p>Existe um limite de utilização da API do Twitter para cada usuário. Este limite, normalmente, é de 100 requisições por hora. Então, cuidado para não estourar o limite, isto fará com que você não consiga interagir com o Twitter até acabar aquela hora. Este limite é chamado de <strong>Rate Limit</strong> e também pode ser consultado pela nossa implementação da API. Para isto utilize o método <strong>rate_limit</strong> da classe <strong>Client</strong>. O resultado é uma estrutura que traz dados sobre como anda seu limites de uso da API. Veja:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rubygems'</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'tuiter'</span>
&nbsp;
cli = <span style="color:#6666ff; font-weight:bold;">Tuiter::Client</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:username</span><span style="color:#006600; font-weight:bold;">=&gt;</span><span style="color:#996600;">&quot;seu_login&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:password</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;sua_senha&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
cli.<span style="color:#9900CC;">rate_limit</span>
&nbsp;
<span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#008000; font-style:italic;">#&lt;Tuiter::RateLimit:0x1802e3c @reset_window=2706.502303, @reset_time=Tue Mar 17 21:15:48 -0300 2009, @hourly_limit=100, @reset_time_in_seconds=Tue Mar 17 21:15:48 -0300 2009, @remaining_hits=84&gt;</span></pre></td></tr></table></div>

<p>Observe que, no exemplo, ainda temos 84 requisições restantes (<strong>remaining_hits</strong>) até estourar o limite de uso da API na hora corrente. E ainda, a hora corrente acaba às 21:15 (<strong>reset_time)</strong> e ai teremos mais 100 requisições de limite.</p>
<p>A outra dica é consultar a <a href="http://apiwiki.twitter.com/">documentação oficial da API do Twitter</a> para entender melhor como ela funciona.</p>
<h2>Colabore com nossa API</h2>
<p>O projeto está hospedado no GitHub e qualquer um pode colaborar. Para entender melhor como isto pode acontecer, entre em contato com os desenvolvedores que estão cuidando dela (<a href="http://twitter.com/lsdr">Luiz Rocha</a>, <a href="http://twitter.com/lfcipriani">Luis Cipriani</a> e o <a href="http://twitter.com/lucashungaro">Lucas Húngaro</a>) através do email <a href="mailto:tuitersfera@webcointernet.com">tuitersfera (arroba) webcointernet.com</a>. Se você encontrar algum bug, tiver alguma sugestão ou desenvolver qualquer coisa legal com a API, também não deixe de <a href="mailto:tuitersfera@webcointernet.com">avisar</a>.</p>
<p>Boa Sorte e boas Tuitadas!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://manoellemos.com/2009/03/17/tutorial-integrando-sua-aplicacao-ruby-ou-rails-com-o-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
