Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jonathan Alencar

[Resolvido] Exibir post twitter com php

Recommended Posts

Olá pessoal,

 

Estou precisando de uma ajudinha de vocês.

 

Fiz uma programação em php pra mostrar o post do twitter em base de uma outra que era mais simples.

Nesta que eu fiz ela mostra quem esta seguindo você e quem você está seguindo e também os listados.

Porém a mesma só retorna o ultimo post.

 

Tentei colocar o ?cout=5 para ver se me retornava mais tweets porém não foi o que aconteceu.

Quando você altera o ?count=X ele retorna o tweet da posição X ai complicou pro meu lado.

Tentei procurar na internet e aqui no forum não achei nada relativo ao assunto.

 

Então gostaria de uma ajuda se possível. Abaixo segue meu código para quem interessar.

 

Se alguém tem uma forma de mostrar vários tweets gostaria dessa ajuda.

 

Desde já fico grato. :)

 

function MostraTweets($usuario){
$url = "http://twitter.com/statuses/user_timeline/$usuario.xml?count=1";
$xml = simplexml_load_file($url) or die("Erro ao conectar.");

echo '
<table width="500" border="0" cellpadding="0" cellspacing="0" style="border:1px solid #ccc;background:#f3f3f3;">
  <!--DWLayoutTable-->
  <tr>
';	

foreach($xml->status as $status){

	$ultimo     = '<span style="font-family:Arial, Helvetica, sans-serif;font-size:11px;">
			      '.$status->text.'
			      </span>';

	$ultimo     = $status->text;
	$link       = 'http://twitter.com/'.$status->user->screen_name.'/';
	$site       = $status->user->url;
	$imagem     = '<a href="'.$link.'"><img src="'.$status->user->profile_image_url.'" border="0"></a>';
	$user_twt   = '<a href="'.$link.'" style="font-family:Arial, Helvetica, sans-serif;font-size:11px;font-weight:bold;color:#0099FF;text-decoration:none;">
				  @'.$status->user->name.': 
				  </a>';
	$following  = '<span style="font-family:Arial, Helvetica, sans-serif;font-size:11px;">Following: '.$status->user->friends_count.'</span>';
	$followers  = '<span style="font-family:Arial, Helvetica, sans-serif;font-size:11px;">Followers: '.$status->user->followers_count.'</span>';
	$listed     = '<span style="font-family:Arial, Helvetica, sans-serif;font-size:11px;">Listed: '.$status->user->listed_count.'</span>';

}
$conf_final = utf8_decode($user_twt.$ultimo);

echo '<td width="75" height="65" align="center" valign="middle"><div align="center">'.$imagem.'</div></td>';
echo '<td width="425" valign="middle"><div align="justify" style="font-family:Arial, Helvetica, sans-serif;font-size:11px;">
<div style="padding:15px;">'.$conf_final.'<br />
	 <br /> '.$following.' | '.$followers.' | '.$listed.' - Site: '.$site.'</div></div></td>';

echo '
  </tr>
</table>
';
}
MostraTweets("setordigital");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na linha 2, substitua o .xml por .rss

E um código mais simples:

 

function MostraTweets($usuario){
$url = "http://twitter.com/statuses/user_timeline/$usuario.rss?count=5";
$xml = simplexml_load_file($url) or die('Erro ao conectar.');


echo '<ol>';  
foreach($xml->channel->item as $node){  
   printf('<li><a href="%s">%s</a></li>',$node->link,$node->title);  
}  
echo '</ol>';

}
MostraTweets('setordigital');

Compartilhar este post


Link para o post
Compartilhar em outros sites

function MostraTweets($usuario){
$url = "http://twitter.com/statuses/user_timeline/$usuario.rss?count=5";
$xml = simplexml_load_file($url) or die('Erro ao conectar.');


echo '<ol>';  
foreach($xml->channel->item as $node){  
   printf('<li><a href="%s">%s</a></li>',$node->link,$node->title);  
}  
echo '</ol>';

}
MostraTweets('setordigital');

 

No caso o meu servidor está dando problemas ao utilizar o foreach da seguinte forma:

 

foreach($xml->channel->item as $node){}

 

O que acontece é que eu tenho que fazer assim:

foreach($xml->channel as $node){ $node->item->title }

 

Se eu utilizar da forma acima irá ocorrer tudo certo com o código porém não retorna nada no echo.

Da forma em que você me mostrou ele retorna o seguinte erro:

Warning: Invalid argument supplied for foreach() in public_html/teste.php on line 8

 

pode ser visto no seguinte link: Clique aqui para ver o erro

 

Não entendo o porque de dar erro no código sendo que é simples, por isso estou procurando algo diferenciado que torne minha vida mais facil ahah :P

 

OBS: NÃO SEI PORQUE RAIOS TEM HORA QUE FUNCIONA TEM HORA QUE PARA DE FUNCIONAR O SCRIPT. :S

 

Até o momento obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

function MostraTweets($usuario){
$url = "http://twitter.com/statuses/user_timeline/$usuario.rss?count=5";
$xml = simplexml_load_file($url) or die('Erro ao conectar.');


echo '<ol>';  
foreach($xml->channel->item as $node){  
   printf('<li><a href="%s">%s</a></li>',$node->link,$node->title);  
}  
echo '</ol>';

}
MostraTweets('setordigital');

 

No caso o meu servidor está dando problemas ao utilizar o foreach da seguinte forma:

 

foreach($xml->channel->item as $node){}

 

O que acontece é que eu tenho que fazer assim:

foreach($xml->channel as $node){ $node->item->title }

 

Se eu utilizar da forma acima irá ocorrer tudo certo com o código porém não retorna nada no echo.

Da forma em que você me mostrou ele retorna o seguinte erro:

Warning: Invalid argument supplied for foreach() in public_html/teste.php on line 8

 

pode ser visto no seguinte link: Clique aqui para ver o erro

 

Não entendo o porque de dar erro no código sendo que é simples, por isso estou procurando algo diferenciado que torne minha vida mais facil ahah :P

 

OBS: NÃO SEI PORQUE RAIOS TEM HORA QUE FUNCIONA TEM HORA QUE PARA DE FUNCIONAR O SCRIPT. :S

 

Até o momento obrigado.

 

 

Jonathan, não sei se você já deu jeito ae, dei uma modificada na função

trocando o foreach pelo for, faz um teste ae

 

function MostraTweets($usuario, $qtd){
$url = "http://twitter.com/statuses/user_timeline/$usuario.rss?count=$qtd";
$xml = simplexml_load_file($url) or die('Erro ao conectar.');

$qtdItem = count($xml->channel->item);

echo '<ol>';  
for($i=0; $i<=$qtdItem-1; $i++){
   echo '<li><a href="'.$xml->channel->item[$i]->link.'">'.utf8_decode($xml->channel->item[$i]->title).'</a></li>';  
}  
echo '</ol>';

}
MostraTweets('setordigital',5);

 

valeu, flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, sou mega novato com programação, mas usei o código que postaram pois achei super fácil de entender, mas quando jogo no servidor recebo a seguinte msg:

 

Warning: simplexml_load_file() [function.simplexml-load-file]: URL file-access is disabled in the server configuration in /home/nina/public_html/teste/teste_03_original/twitter.php on line 4

 

Warning: simplexml_load_file(http://twitter.com/statuses/user_timeline/carolinnabaladi.rss?count=5) [function.simplexml-load-file]: failed to open stream: no suitable wrapper could be found in /home/nina/public_html/teste/teste_03_original/twitter.php on line 4

 

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://twitter.com/statuses/user_timeline/carolinnabaladi.rss?count=5" in /home/nina/public_html/teste/teste_03_original/twitter.php on line 4

Erro ao conectar.

 

O que vocês acham que pode ser isso???

 

Agradeço muito qualquer ajuda.

 

Rodrigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.