<?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>WEBCODELOG &#187; Redes Sociais</title>
	<atom:link href="http://www.lucianosilva.com/category/redes-sociais/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lucianosilva.com</link>
	<description>free codes, enjoy</description>
	<lastBuildDate>Mon, 14 Jun 2010 00:34:48 +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>Autenticação e Autorização com a API do Twitter</title>
		<link>http://www.lucianosilva.com/2010/02/13/autenticacao-e-autorizacao-com-a-api-do-twitter/</link>
		<comments>http://www.lucianosilva.com/2010/02/13/autenticacao-e-autorizacao-com-a-api-do-twitter/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 00:27:01 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Redes Sociais]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[autenticação]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.lucianosilva.com/?p=366</guid>
		<description><![CDATA[O Twitter veio para ficar e isto eu não discuto e, este blog quando empolgado com o micro-blog público um exemplo simples de como utilizar o Twitter4j. Agora estou tentando mostrar uma forma mais avançada de comunicação com o Twitter, utilizando o modo de autenticação/autorização. No exemplo anterior além de obter o Customer Key e [...]]]></description>
			<content:encoded><![CDATA[<p>O Twitter veio para ficar e isto eu não discuto e, este blog quando empolgado com o micro-blog<a href="http://www.lucianosilva.com/2009/01/21/conhecendo-a-api-do-twitter/"> público um exemplo</a> simples de como utilizar o Twitter4j. Agora estou tentando mostrar uma forma mais avançada de comunicação com o Twitter, utilizando o modo de autenticação/autorização.</p>
<p>No exemplo anterior além de obter o Customer Key e Secret, você irá precisar do Usuário e Senha do Twitter, para assim obter a comunicação devida. Bem, nem todo mundo sente-se disposto a oferecer seus dados confidênciais para um software ou site qualquer. Portanto, este novo exemplo mostrará como você deve comunicar com o Twitter deixando a autenticação por parte do micro-blog e autorização por parte do próprio usuário.</p>
<p>Dando sequência ao assunto, inicialmente você precisará <a href="https://twitter.com/apps/new">registrar uma aplicação</a> no  Twitter caso ainda não a tenha, guarde os dados Consumer Key e Secret. Existem dois tipos de aplicações a Client (Desktop) e Browser (Web), sendo que a segunda precisará de uma url que receberá o Token de autenticação.</p>
<p><span style="text-decoration: line-through;"><span style="color: #ff0000;">Infelizmente, este post foi prejudicado pela falta de um web hosting que suporte Java, a Locaweb (atual host deste blog) cobra valores mensais absurdos, que inviabiliza blogs com intuito simplesmente acadêmico, como este, de realizar testes utilizando a linguagem Java.</span></span></p>
<p>Consegui descobrir lendo <a href="http://code.google.com/p/twitter-api/issues/detail?id=534" target="_blank">aqui</a>, <a href="http://www.tonyamoyal.com/2009/08/17/how-to-quickly-set-up-a-test-for-twitter-oauth-authentication-from-your-local-machine/" target="_blank">aqui</a> e<a href="http://www.martinadamek.com/2010/01/28/twitter-oauth-on-java-appengine/" target="_blank"> aqui</a> que é possível configurar o seu localhost como Callback URL no Twitter, assim não será necessário ter um site publicado na internet para seus testes.</p>
<p><strong>Web Autenticação</strong></p>
<p>Durante o registro você irá informar o tipo de aplicação Browser e uma Callback URL, é para onde o navegador será redirecionado após a autorização do usuário. Já o campo Application Website, é a origem da sua aplicação web, ou seja, serão aceitas as chamadas feitas apenas a partir deste site.</p>
<p>O código abaixo irá fazer iniciar o processo de autenticação, o navegador vai ser redirecionado para a página de login do Twitter.</p>
<pre class="brush: java;">
 final String CALLBACK_URL     = &quot;http://127.0.0.1:8080/BlogTwitt4u/&quot;; // a mesma configurada na aplicação
 final String CUSTOMER_KEY     = &quot;6MWotGxvuNVGfK4lDqAqhg&quot;;
 final String CUSTOMER_SEC     = &quot;oRH0YviLum2Rrii25ePj0DEk6VnmNjoTG0ESUpqSY&quot;;

 OAuthConsumer consumer         = new DefaultOAuthConsumer(CUSTOMER_KEY, CUSTOMER_SEC);
 OAuthProvider provider         = new DefaultOAuthProvider( &quot;https://twitter.com/oauth/request_token&quot;,
 &quot;https://twitter.com/oauth/access_token&quot;,
 &quot;https://twitter.com/oauth/authorize&quot; );

 //
 // Solicita a autorização
 //
 String authUrl = provider.retrieveRequestToken(consumer, CALLBACK_URL);
 session.setAttribute(&quot;token&quot;,         consumer.getToken());
 session.setAttribute(&quot;tokenSecret&quot;, consumer.getTokenSecret());

 //
 //
 // Redireciona para  o Twitter solicitar o Usuário e Senha, e Autorização para a aplicação
 // Em seguida será redirecionado para a callback url
 response.sendRedirect(authUrl);
</pre>
<p>Após fazer o login e autorizar a sua aplicação, o navegador será redirecionado novamente para o seu site, com dois parâmetros preenchidos, como esta abaixo:</p>
<pre class="brush: java;">

http://127.0.0.1:8080/BlogTwitt4u/?oauth_token=RQVPENBxDbQuI1bJ1rjELuVSyZhMYqr8Fcs5eqyZw&amp;oauth_verifier=a8FuEeitfdCR2IfgisfsHopMAUevs4cDyRWkbZz4
</pre>
<p>Pronto, ai você já pode colher as informações que desejar, veja:</p>
<pre class="brush: java;">
 if( oauthVerifier!=null &amp;&amp; !oauthVerifier.trim().equals(&quot;&quot;) ){

 String token            = (String) session.getAttribute(&quot;token&quot;);
 String tokenSecret        = (String) session.getAttribute(&quot;tokenSecret&quot;);

 //
 consumer.setTokenWithSecret(token, tokenSecret);

 //
 //
 provider.setOAuth10a(true);
 provider.retrieveAccessToken(consumer, oauthVerifier);

 out.println(&quot;&lt;h1&gt;AUTORIZADO!&lt;/h1&gt;&quot;);
 out.println(&quot;&lt;pre&gt;&quot;);
 out.println(&quot;token:\t\t&quot; + consumer.getToken());
 out.println(&quot;tokenSecret:\t\t&quot; + consumer.getTokenSecret());
 out.println(&quot;oauthVerifier:\t\t&quot; + oauthVerifier);
 out.println(&quot;oauthToken:\t\t&quot; + oauthToken);

 //
 //
 URL url                         = new URL(&quot;http://twitter.com/statuses/mentions.json&quot;);
 HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
 consumer.sign( urlConnection );
 urlConnection.connect();

 BufferedReader in    = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()) );
 String inputLine     = &quot;&quot;;
 String content       = &quot;&quot;;
 while ((inputLine = in.readLine()) != null){
     content += inputLine;
 }// while end
 in.close();

 int statusCode = urlConnection.getResponseCode();
 out.println(&quot;statusCode: &quot; + statusCode);
 out.println(&quot;&lt;/pre&gt;&quot;);

 JSONArray json = JSONArray.fromObject( content );

 out.println(&quot;&lt;hr&gt;&quot;);
 out.println(&quot;&lt;h3&gt;Mentions&lt;/h3&gt;&quot;);
 out.println(&quot;&lt;pre&gt;&quot;);
 for(int i=0; i&lt;json.size(); i++){

 JSONObject obj = (JSONObject) json.get(i);
 if( obj!=null ){
   // JSONString str = (JSONString) obj.get(&quot;text&quot;);
   out.println(obj.getString(&quot;text&quot;));
 }

 }// for end
 out.println(&quot;&lt;/pre&gt;&quot;);

 }
</pre>
<p><strong>Desktop Autenticação</strong></p>
<p>Este é um exemplo comum, muito conhecido em qualquer pesquisa no Google, para utiliza-lo você deve ter uma aplicação do tipo Client.</p>
<p>O código pede para que o usuário abra o navegador, acesse uma determinada URL e depois informe o código númerico no programa, nada eficaz né? Muitos programadores utilizam uma maneira nada elegante que é a de &#8220;hackear&#8221; esta página e pegar o código automáticamente, facilitando a vida de todo mundo. Faça isto por sua conta e risco. Perceba que quando comparado ao código de autenticação Web a única mudança é a utilização do código PIN, que não necessário informar na web.</p>
<pre class="brush: java;">
&lt;pre&gt;
&lt;pre&gt;&lt;pre&gt;// Lembre-se de modificar estes valores para os seus
//
final String CUSTOMER_KEY = &quot;6MWotGxvuNVGfK4lDq&quot;;
final String CUSTOMER_SEC = &quot;oRH0YviLum2Rrii25ePj0DEk6VnmNjoTG0ESUp&quot;;

try {
HttpURLConnection request = null;
URL url = null;
OAuthConsumer consumer = new DefaultOAuthConsumer(CUSTOMER_KEY, CUSTOMER_SEC);

OAuthProvider provider = new DefaultOAuthProvider( &lt;a href=&quot;https://twitter.com/oauth/request_token&quot;&gt;https://twitter.com/oauth/request_token&lt;/a&gt;,
&quot;https://twitter.com/oauth/access_token&quot;,
&quot;https://twitter.com/oauth/authorize&quot;);

String authUrl = provider.retrieveRequestToken(consumer, OAuth.OUT_OF_BAND);
//
// URL Que irá retornar o PIN, necessário para formar o Token
System.out.println(authUrl);

String pinCode = JOptionPane.showInputDialog(&quot;Acesse o endereço:\n&quot; + authUrl + &quot;\nE Informe o PIN:&quot;);
System.out.println(&quot;PIN Code: &quot; + pinCode);

//
provider.retrieveAccessToken(consumer, pinCode);

String tokenKey = consumer.getToken();
String tokenSec = consumer.getTokenSecret();

System.out.println(&quot;Token Key : &quot; + tokenKey);
System.out.println(&quot;Token Sec : &quot; + tokenSec);

consumer.setTokenWithSecret(tokenKey, tokenSec);

url  = new URL(&lt;a href=&quot;http://twitter.com/statuses/mentions.xml&quot;&gt;http://twitter.com/statuses/mentions.xml&lt;/a&gt;);
 request = (HttpURLConnection) url.openConnection();
// sign the request
consumer.sign(request);

// send the request
request.connect();

// response status should be 200 OK
int statusCode = request.getResponseCode();
System.out.println(&quot;Status Code : &quot; + statusCode);

} catch (OAuthMessageSignerException e) {
e.printStackTrace();
} catch (OAuthNotAuthorizedException e) {
e.printStackTrace();
} catch (OAuthExpectationFailedException e) {
e.printStackTrace();
} catch (OAuthCommunicationException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
</pre>
<p>Foram utilizadas as seguintes bibliotecas:<br />
<a href="http://commons.apache.org/beanutils/"> Apache Commons BeansUtil 1.8</a><br />
<a href="http://commons.apache.org/codec/"> Apache Commons Codec 1.4</a><br />
<a href="http://hc.apache.org/httpclient-3.x/"> Apache Http Client 3.1</a><br />
<a href="http://commons.apache.org/lang/"> Apache Commons Lang 2.4</a><br />
<a href="http://ezmorph.sourceforge.net/">ezmorph 1.0.6</a><br />
<a href="http://json-lib.sourceforge.net/"> json-lib 2.3</a></p>
<p>Faça <a href="http://www.lucianosilva.com/download/BlogTwitt4u.zip">download do projeto</a>, que contêm ambos exemplos de autenticação.</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "batman, ben10, anime, simpsons";
            bb_bid  = "41213";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "4";bb_format = "bbm";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.lucianosilva.com/2010/02/13/autenticacao-e-autorizacao-com-a-api-do-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando a API LastFm em Java</title>
		<link>http://www.lucianosilva.com/2010/02/01/usando-a-api-lastfm-em-java/</link>
		<comments>http://www.lucianosilva.com/2010/02/01/usando-a-api-lastfm-em-java/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 00:41:37 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Redes Sociais]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[lastfm]]></category>

		<guid isPermaLink="false">http://www.lucianosilva.com/?p=339</guid>
		<description><![CDATA[A LastFm é a queridinha das rádios online, mesmo com diversos concorrentes de alto nível como iLike, Pandora, Imeem, e outros tantos, aqui no Brasil a LastFm é um grande sucesso, seus milhões de usuários brasileiros ignoraram o bloqueio de alguns recursos e continuam fazendo scrobbling de seus áudios diáriamente. Além de um database music, [...]]]></description>
			<content:encoded><![CDATA[<p>A LastFm é a queridinha das rádios online, mesmo com diversos concorrentes de alto nível como iLike, Pandora, Imeem, e outros tantos, aqui no Brasil a LastFm é um grande sucesso, seus milhões de usuários brasileiros ignoraram o bloqueio de alguns recursos <em>e continuam fazendo scrobbling </em>de seus áudios diáriamente.</p>
<p>Além de um database music, o LastFm é uma rede social e grande parte de suas informações são públicas e podem ser acessadas facilmente através de sua API.<br />
Vamos dar inicio a um exemplo de como consumir os dados utilizando a library para Java <a href="http://code.google.com/p/lastfm-java/">lastfm-java</a>. Antes de tudo, se você não tiver uma conta no LastFm, crie-a agora e depois obtenha a <a href="http://www.last.fm/api">API Key</a>. Neste mesmo link você encontrará a documentação da API, que detalha claramente a funcionalidade de cada método disponível e como é o seu acesso e se necessita ou não de autenticação.</p>
<p>Em nosso primeiro exemplo vamos fazer uma página web que irá listar as <strong>últimas faixas ouvidas </strong>e a <strong>lista de amigos</strong> de um usuário específico, com isto, você perceberá que nenhuma autenticação é necessária pois os dados são públicos.</p>
<p>Criei a classe LastFmClient, para facilitar os casts necessários e centralizar as chamadas da API.</p>
<pre class="brush: java;">
public class LastFmClient {
// altere para a sua api key
 private static final String APIKEY = &quot;XyZaBc001&quot;;
 private String uName = null;

/**
 *
 * @param uName
 */
 public LastFmClient(String uName){
 this.uName = uName;
 }

/**
 *
 * @return User/Friends List
 */
 public ArrayList&lt;User&gt; getFriends(){
 return (ArrayList&lt;User&gt;) User.getFriends(uName, APIKEY);
 }

 /**
 *
 * @return Tracks List
 */
 public ArrayList&lt;Track&gt; getTracks(){
 return (ArrayList&lt;Track&gt;) User.getRecentTracks(uName, APIKEY);
 }
}
</pre>
<p>Isto é o suficiente para você montar a lista como descrito acima, veja:</p>
<pre class="brush: java;">
 String userName = request.getParameter(&quot;username&quot;);
 if( userName!=null &amp;&amp; !userName.trim().equals(&quot;&quot;) ){
 // instancia a classe de backend
 LastFmClient client = new LastFmClient(userName);

 // seu código aqui
 }
</pre>
<p>Ouvidas recentemente.</p>
<pre class="brush: java;">
&lt;table border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;1&quot;&gt;
&lt;% for(Track t : tracks){ %&gt;
&lt;tr&gt;
 &lt;td valign=&quot;top&quot; align=&quot;left&quot;&gt;
 &lt;br/&gt;&lt;strong&gt;&lt;%=t.getAlbum() %&gt;&lt;/strong&gt;
 &lt;br/&gt;&lt;em&gt;&lt;%=t.getArtist() %&gt;&lt;/em&gt;
 &lt;/td&gt;
&lt;/tr&gt;
&lt;% }// for end tracks %&gt;
&lt;/table&gt;
</pre>
<p>Lista de amigos.</p>
<pre class="brush: java;">
&lt;table border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;1&quot;&gt;
&lt;tr&gt;
&lt;%
 ArrayList&lt;User&gt; friends = client.getFriends();
 int count = 1;
 for(User f : friends){
%&gt;
 &lt;td valign=&quot;top&quot; align=&quot;center&quot;&gt;
 &lt;% if( f.getImageURL()!=null ){ %&gt;&lt;img src=&quot;&lt;%= f.getImageURL() %&gt;&quot;&gt;&lt;% } %&gt;
 &lt;br&gt;&lt;strong&gt;&lt;%=f.getName() %&gt;&lt;/strong&gt;
 &lt;br&gt;&lt;a href=&quot;&lt;%= f.getUrl() %&gt;&quot;&gt;&lt;%= f.getUrl() %&gt;&lt;/a&gt;
 &lt;br/&gt;
 &lt;/td&gt;
&lt;%
 if( count%5==0 ) out.print(&quot;&lt;/tr&gt;&lt;tr&gt;&quot;);
 count++;

 }// for end friends

}//
%&gt;
</pre>
<p><a href="http://www.lucianosilva.com/download/BlogLastFmWeb.zip">Faça download do código completo</a>.</p>
<p>Pronto, você conseguiu acessar dados do LastFm, usando o caminho correto e fácil, sem autenticação. Mas alguns dados são restritos e necessitam da autorização do usuário, informações básicas como a quantidade de músicas ouvidas, data de cadastro, nome, etc. são de acesso restrito.</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "música, cd, dvd, bluray";
            bb_bid  = "41213";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "4";bb_format = "bbm";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.lucianosilva.com/2010/02/01/usando-a-api-lastfm-em-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conhecendo a API do Twitter</title>
		<link>http://www.lucianosilva.com/2009/01/21/conhecendo-a-api-do-twitter/</link>
		<comments>http://www.lucianosilva.com/2009/01/21/conhecendo-a-api-do-twitter/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 12:32:38 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Redes Sociais]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[twitter4j]]></category>

		<guid isPermaLink="false">http://www.lucianosilva.com/?p=122</guid>
		<description><![CDATA[Incentivado por este post do Blog do Élcio que demonstrou a utilização da API do Twitter no ubuntu de uma maneira muito fácil e simples, então procurei saber um pouco mais sobre ela. Existem algumas bibliotecas prontas para diversas linguagens, escolhi pela Twitter4j antes de mexer na API do Twitter mesmo, e não me arrependi [...]]]></description>
			<content:encoded><![CDATA[<p>Incentivado por este <a href="http://blog.elcio.com.br/brincando-com-a-api-do-twitter/" target="_blank">post</a> do <a href="http://blog.elcio.com.br/" target="_blank">Blog do Élcio</a> que demonstrou a utilização da <a href="http://apiwiki.twitter.com" target="_blank">API do Twitter</a> no ubuntu de uma maneira muito fácil e simples, então procurei saber um pouco mais sobre ela.</p>
<p>Existem algumas <a href="http://apiwiki.twitter.com/Libraries#TableofContents">bibliotecas</a> prontas para diversas linguagens, escolhi pela <a href="http://yusuke.homeip.net/twitter4j/en/index.html"><strong>Twitter4j</strong></a> antes de mexer na API do Twitter mesmo, e não me arrependi com algumas poucas linhas de código é possível atualizar seu status e até receber as últimas atualizações, veja como é simples.</p>
<pre class="brush: java;">

import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;

public class Twittando {

public static void main(String[] args) {
// usuário e senha do twitter
String usr = &quot;lucianosilva&quot;;
String pwd = &quot;ABCDEFGHIJKL&quot;;

try {

Twitter twitter = new Twitter(usr, pwd);
// atualizando o status do twitter
Status status   = twitter.update(&quot;Twitter4J, muuito fácil de usar, recomendo!&quot;);
System.out.println(&quot;Result: &quot; + status.getText() );

} catch (TwitterException e) {
e.printStackTrace();
}
}
}
</pre>
<p>Não esqueça de fazer o download da biblioteca Twitter4j <a href="http://yusuke.homeip.net/twitter4j/en/index.html" target="_blank">aqui</a>. E se você for uma pessoa &#8220;caprichosa&#8221; assim como o Elcio, criaria um UPBox, mas&#8230; no meu caso fiz um exemplo mais simples para demonstrar a lista de updates, veja o scriptlet:</p>
<pre class="brush: java;">

&lt;style type=&quot;text/css&quot;&gt;
#box{
font-family:tahoma,arial;
font-size:10px;
border:1px #000000 solid;
background-color:#ffffff;
width: 300px;
height: 400px;
overflow: auto;
}
&lt;/style&gt;
...
&lt;div id=&quot;box&quot;&gt;
&lt;%
Twitter twitter = new Twitter();
twitter.setUserId(&quot;lucianosilva&quot;);
twitter.setPassword(&quot;ABCDEFGHIJKL&quot;);

ArrayList&lt;status&gt; listUpdates = (ArrayList&lt;status&gt;) twitter.getFriendsTimeline();
for(Status status : listUpdates){
User user = status.getUser();
%&gt;
&lt;p&gt;&lt;img src=&quot;&lt;%= user.getProfileImageURL() %&gt;&quot; border=2/&gt;
&amp;amp;amp;amp;amp;nbsp;:&amp;amp;amp;amp;amp;nbsp;&lt;%= status.getText() %&gt;&lt;/p&gt;
&lt;%
}// for each end
%&gt;
&lt;/div&gt;
</pre>
<p>Bacana né? Divirta-se.</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "twitter4j";
            bb_bid  = "41213";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "4";bb_format = "bbm";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.lucianosilva.com/2009/01/21/conhecendo-a-api-do-twitter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
