Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago de Oliveira Cruz

[Tutorial] Twitter no Flash

Recommended Posts

Aqui vou ensinar como fazer um arquivo de flash para pegar seus tweets do twitter.

 

Fiz adaptações no código de AS 3.0 para poder fazer para AS 2.0.

 

Vamos usar a API do proprio twitter pra fazer ok?

Tutorial tambem encontrado em

http://berseck.wordpress.com

 

Então vamos lá

No flash:

/*
* Carregando o Twitter em seu flash
* Criado por Thiago de Oliveira Cruz
*/

//Primeiro passo é criar meu xml
var twitter:LoadVars = new LoadVars();
var twitterXML:XML = new XML();

twitterXML.ignoreWhite = true;

//loadPolicyFile
System.security.loadPolicyFile('crossdomain.xml');

//Crio meu campo de texto
var campo:TextField = this.createTextField("campo", 1, 20, 20, Stage.width - 50, Stage.height - 50);
var stats:TextField = this.createTextField("stats", 2, 20, Stage.height - 40, Stage.width - 50, 50);
//Do a propriedade de multiline para ele e wordWrap
campo.multiline = true;
campo.wordWrap = true;

/*
* Crio meu scroll com o UIScrollBar
* (precisa colocar esse componente na biblioteca senão, não funciona)
*/
this.createClassObject(mx.controls.UIScrollBar, "scroller", -5);
//Coloco o tamanho do campo igual ao palco
scroller.setSize(16, Stage.height - 50);
//Digo qual a posição do X do scroll
scroller._x = Stage.width - 16;
//Coloco o scrill ao campo
scroller.setScrollTarget(campo);

//Carrego o meu xml do twitter e vira um arquivo twitter.xml criado pelo php
twitter.load('twitter.php');
//Ignoro os espaços em branco
twitter.onLoad = function(ok) {
    if(ok){
        //Recupero meu arquivo e carrego o xml
        twitterXML.load('twitter.xml');
        twitterXML.onLoad = init;
    }else {
        trace('deu erro');
    }
}
//Coloco o XML num campo de texto previamente criado
function init(){
    var cn = twitterXML.firstChild.childNodes;
    for(var i = 0; i < cn.length; i++){
        campo.text +=  cn[i].childNodes[2].firstChild.nodeValue + newline + newline;
    }
}
Como pode ver eu uso um loadVars para carregar um php depois do que eleresponder... no caso ele deveria responder um XML em texto... mas aipor algum motivo, que eu desconheço... não consegui recuperar essetexto como XML para o flash com AS 2.0 então eu simplesmentetransformei em arquivo salvando em meu servidor.

 

Agora vamos ao PHP:

<?php
/*
* Esse código foi criado por Thiago de Oliveira Cruz
* Sem fins lucrativos apenas para aprendizagem!
* Não pode ser vendido, nem com nenhum fim lucrativo
*/
#Essa função aqui precisa do curl ativado em seu sistema de PHP
#caso não tenha entre no php.ini de seu servidor... ou localhost e descomente o curl.dll
#para saber o que curl faz acesse http://www.php.net/curl
function get_content($url)
{
    $ch = curl_init();

    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_HEADER, 0);

    ob_start();

    curl_exec ($ch);
    curl_close ($ch);
    $string = ob_get_contents();

    ob_end_clean();
   
    return $string;    
}

#Aqui eu coloco meu arquivo XML que vai ser puxado do twitter... então coloque um legal aqui como o da CocaCola de Exemplo
$content = get_content ("http://twitter.com/statuses/user_timeline.xml?screen_name=CocaCola");
#Aqui eu to colocando o cabeçalio desse arquivo aqui que deve retornar um XML ele sozinho... 
#caso consiga recuperar no flash... não precisa fazer os passos de criação de arquivo.
header("Content-type:text/xml");

#Aqui eu crio um arquivo em meu servidor chamado twitter.xml
$nodes = fopen('twitter.xml','w');
#Escrevo o texto todo que esse arquivo escreve... que já é um XML
fwrite($nodes, $content);
#Salvo meu arquivo
fclose($nodes);

#Aqui eu imprimo o arquivo como um XML em tela
echo $content;
?>

Agora você precisa do crossdomain né?

Esse basta pegar um igual do twitter e salvar na mesma pasta de seu site

http://www.twitter.com/crossdomain.xml

 

Lembre-se que no meu código eu chamo o crossdomain no policy então é extremamente obrigatório e necessário para que esse código funcione!!!

 

Espero que gostem e aproveitem bem.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom no caso o meu vai ficar sem nenhuma diagramação e beeeeem feeinho rs

Pois eu fiz apenas o código para mostrar os tweets com uma barra de rolagem...

Sem ficar bunitinho nem nada xD

mas ele vai fica assim se você só copiar sem fazer mais nada

Imagem Postada


Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desde que você altere o código para um código seu...

O meu código é justamente um exemplo de como se usar... por isso ele é apenas para estudos sem fins lucrativos...

 

Você alterando-o, fazendo seu proprio código em cima do meu... você pode usar a vontade ;)

 

Abraços

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.