Ir para conteúdo

POWERED BY:

Arquivado

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

buh

twitter não carrega posts no meu site em flash

Recommended Posts

meu codigo naum tem nadika de mais .. eu fiz exatamente como me disseram pra faze inclusive ja vim aqui no forum.. quando eu do ctrl+ENTER no flash ele me mostra todos os posts quando eu upo pro server ele não carrega nada..

 

alguem sabe por que isso acontece??

Compartilhar este post


Link para o post
Compartilhar em outros sites

num to intendendo muito beim o Security.AllowDomain pelo que pesquisei aqui site a pega informação de site b no caso site a é o meu.... site b é o twitter...... site b tem o Security.AllowDomain pra dar permisão ao site a de pegar informações naum deu certo .. ksopksps

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque esse código no seu frame de action onde chama o XML do twitter:

Security.allowDomain('http://www.twitter.com');

 

Sem esquecer que precisa fazer o crossdomain pq sem ele você não acessa XML de outros servidores ;)

 

E ai ele vai permitir fazer essa parceria... outra coisa seria habilitar a parte de allow only network na parte de publish and settings do seu flash.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

criei o arquivo crossdomain.xml

 

<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="www.twitter.com" />
</cross-domain-policy>

coloquei

 

Security.allowDomain('http://www.twitter.com');
var twitter_xml:XML = new XML();
twitter_xml.ignoreWhite = true;
var twitter_url:String = "http://twitter.com/statuses/user_timeline/alguem.xml?count=5"

twitter_xml.load(twitter_url);
twitter_xml.onLoad = function(success) {
	if (success) {
var link:String = this.childNodes[0].childNodes[0].childNodes[9].childNodes[2].childNodes[0];  		
		meu.onPress=function(){
getURL ("http://www.twitter.com/"+link+"", "_blank");	

}
		trace(this.firstChild);
		//MEUS POSTS
	

Puxo aqui todos os nos que necessito
	}
};

pega.onPress=function(){
	gotoAndStop("pega",0);
}

e ativei access network only

 

mais mesmo assim não puxou os posts kkkk so comigo da essas zebras $#%#$% que %$#% hahahahah

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom essa vai ser 4free heim... mas isso custuma custar rs

 

Vamos usar a API do proprio twitter pra fazer ok?

Como a API foi feita para rodar só com AS 3.0 do flash então eu fui obrigado a fazer algumas adaptações...

 

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 ele responder... no caso ele deveria responder um XML em texto... mas ai por algum motivo, que eu desconheço... não consegui recuperar esse texto como XML para o flash com AS 2.0 então eu simplesmente transformei 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 goste e aproveite bem.

 

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.