Jump to content


Genkokyuu

Member Since 11/08/2010
Offline Last Active 16/08/2010, 09:55
-----

Topics I've Started

Como Interagir Flash Com O Twitter

11/08/2010, 15:01

Olá,

Gostaria eu de estar postando uma solução, mas não sei se é só comigo que essa função não está funcionando.
Estou atualizando um site feito todo em Flash com ActionScript 2.0, e o cliente me veio esses dias falando:

"Quero que o Twitter apareça nesse canto aqui"

Bem, ele está no direito dele de requer essa função no site dele, o problema era se isso que ele pedia era possivel, e para minha supresa descobri que é ao fazer uma busca pela internet, encontrei até uma forma de fazer a integração usando o ActionScript 2 e um arquivo em php que carrega o xml do Twitter.

O problema surgiu quando o bendito codigo decidiu não funcionar como devia, o codigo funciona pois a pessoa que forneceu o codigo postou o site onde o implantou e esta funcionando (www.opadeirodesevilha.com.br), mas no meu ele inciste em não funcionar.

A ideia era fazer o SWF com um campo de texto dinamico nomeado como "conteudo" e com a variavel "conteudo" onde seria carregado um arquivo PHP (twitter.php) que traria as mensagens do Twitter.

O codigo do arquivo php é esse aqui:

&conteudo=<?php // “Conteudo” é o nome da variável que será inserida no Dynamic Text no Arquivo Flash

//Para alterar o Twitter basta mudar o nome do Login e a quantidade de Mensagens

$statuses = getTwitterStatus(”aqui vai nome do login do twitter”, 2); // (”Login”, Qtd_mensagens);

?>

<?php

foreach ($statuses as $status) {

$msg = $status['message'] . ‘ – Postado  a ‘ . $status['time'].”;

echo $msg;

}

?>

<?php

function getTwitterStatus($twitterUser, $howMany = 1) {

//pegar mensagens via XML importado do Twitter

$url = sprintf(”http://twitter.com/statuses/user_timeline/%s.xml?count=%d”,

$twitterUser, $howMany);

$parsed = new SimpleXMLElement(file_get_contents($url));

$tweets = array();

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

$message = preg_replace(”/http:\/\/(.*?)\/[^ ]*/”, ‘<a href=”\”>\</a>’,

$status->text);

$time = niceTime(strtotime(str_replace(”+0000?, “”, $status->created_at)));

$tweets[] = array(’message’ => $message, ‘time’ => $time);

}

return $tweets;

}

function niceTime($time) {

// Ajuste dos Tempos das Mensagens (data atual – data informada na mensagem)

$delta = time() – $time;

if ($delta < 60) {

return ‘menos de 1 minuto atrás’;

} else if ($delta < 120) {

return ‘aprox 1 minuto atrás’;

} else if ($delta < (45 * 60)) {

return floor($delta / 60) . ‘ minutos atrás’;

} else if ($delta < (90 * 60)) {

return ‘aprox. uma hora atrás’;

} else if ($delta < (24 * 60 * 60)) {

return ‘aprox. ‘ . floor($delta / 3600) . ‘ horas atrás’;

} else if ($delta < (48 * 60 * 60)) {

return ‘1 dia atrás’;

} else {

return floor($delta / 86400) . ‘ dias atrás’;

}

}

?>&

Esse aqui é o codigo do ActionScript:

loadVariablesNum("twitter.php",0);

Quando eu uso esse codigo de Flash no campo do texto dinamico ao invez de aparecer as mensagens do Twitter aparece a seguinte mensagem: _level0.instance1.conteudo

Fazendo uma busca e acimilações eu descobri esse codigo aqui:

var objetoLoad:LoadVars = new LoadVars();

objetoLoad.onLoad = function ():Void {

if(objetoLoad.conteudo != "")

{

conteudo.text = objetoLoad.conteudo ;

}

}

objetoLoad.load("twitter.php");

Mas infelizmente com esse codigo as coisas tambem não funcionaram, mas ao invez de aparecer a mensagem anterior no campo do texto dinamico aparece ao ativar o swf no computador o codigo do arquivo php e quando é lançado na internete aparece a mensagem: undefined

Foi então que eu não consegui mais resolver o problema, pois não sei se o erro ta no php, no ActionScript ou na minha capacidade de mecher com programação :(

Alguem pode me dá uma ajuda e descobrir onde esta o erro?

IPB Skin By Virteq