Creación de un widget de Twitter en Flash 3

En la sección final de este tutorial vamos a tener que configurar algunos problemas de seguridad para que la película Flash para leer los datos de Twitter cuando subirlo a nuestro sitio web. El Flash Player tiene restricciones de seguridad que impida la carga de datos desde otro servidor. Nos vendrá sobre esta cuestión de la siguiente manera:

  1. Creación de un archivo PHP para poder recuperar los datos en nuestro servidor.
  2. Creación de un archivo de política entre dominios para permitir Twitter para comunicarse con nuestro servidor.

Creación de un archivo de proxy PHP

Vamos a empezar por crear el proxy archivo PHP que copiar los datos de Twitter. Para ello podemos utilizar el código siguiente readymade he encontrado en Internet:

<?php
/*
* @return string
* @param string $url
* @desc Return string content from a remote file
* @author Esau Torrecilla

*/

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;
}

#usage:
$content = get_content (“http://twitter.com/statuses/user_timeline.xml?screen_name=EsauTorrecillaM”);
echo $content;
?>


Basta con crear un nuevo archivo de texto con el bloc de notas y guárdelo como twitter.php. El código simplemente lee los datos de twitter y salidas de nuevo. Esto significa que en lugar de acceder a Twitter directamente, ahora podemos acceder a la URL de esta página PHP en su lugar. Usted tiene que cargar este archivo en la misma carpeta en la que se cargue el archivo SWF a hacer referencia a este archivo fácil.

Configuración de la directiva de dominio de la Cruz

Una política entre dominios de un sitio web es un archivo que concede permisos a otros sitios web para actualizar el contenido de dicho sitio. Nuestro poder de PHP tendrá que utilizar los datos de Twitter, y para ello, tenemos que permitir el acceso a nuestro sitio web Twitter.

Creación de un archivo es fácil. Sólo tiene que utilizar el bloc de notas para crear un archivo de texto en blanco y pegue el siguiente en el mismo. Este código es bastante auto-explicativo:

<?xml version=”1.0″?>
<!DOCTYPE cross-domain-policy SYSTEM “http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd”>

<cross-domain-policy>

<allow-access-from domain=”www.twitter.com” />
<allow-access-from domain=”twitter.com” />

</cross-domain-policy>


Tendrá que guardar este archivo como crossdomain.xml y luego subirlo al directorio raíz de su sitio web, es decir, la misma carpeta en la que el índice se coloca presentar su página de inicio.

Volver a la FLA

Todos nuestros guiones están listos, tenemos que actualizar nuestro código ActionScript ahora para que no intente cargar los datos de Twitter directamente y en su lugar carga el archivo PHP en su lugar. Para hacer esto simplemente actualizar el objetivo de su ). carga ( método:

var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.load(new URLRequest(“twitter.php”));
myXMLLoader.addEventListener(Event.COMPLETE, processXML); 

function processXML(e:Event):void{
var myXML:XML = new XML(e.target.data);

tweet_1.text = myXML.status[0].text;
tweet_2.text = myXML.status[1].text;
tweet_3.text = myXML.status[2].text;
tweet_4.text = myXML.status[3].text;
}

follow_btn.addEventListener(MouseEvent.CLICK, onFollow);
function onFollow(e:MouseEvent):void{
navigateToURL(new URLRequest(“http:///twitter.com/EsauTorrecillaM”));
}
follow_btn.buttonMode = true;

Ahora puede exportar el archivo SWF y luego subirlo junto con el twitter.php secuencia de comandos en la misma carpeta.

Ahora puedes acceder a tu película en línea para ver los últimos tweets!

Avisos importantes Acerca de la versión en línea

Debido a las restricciones de la API de Twitter, ningún usuario se le permite hacer más de 150 solicitudes por hora en el servidor de Twitter. Esto significa que si su sitio web recibe un gran número de éxitos, este widget siempre dejará de cargar los datos al final de cada hora y por tanto el número de solicitudes excede las 150. El límite de solicitud del API se restaura  cada hora.

Es posible superar este problema mediante el uso de un avanzado script PHP que recupera automáticamente los datos de Twitter en tiempos periódicos a lo largo de la hora para que la solicitud al servidor es independiente de las visitas de los usuarios actuales de su widget. Sin embargo, esto va más allá del alcance de este tutorial.

5 comentarios sobre “Creación de un widget de Twitter en Flash 3”

  1. Hola, estoy haciendo el ejercicio para meter twitter a un flash, pero a la hora de reproducirlo no funciona, de hecho en el flash cuando le doy verificar actions, me sale un error, me dice que es en esta linea
    función processXML (e: Event): void {

    Lo que estaba viendo es que pones la palabra función con acento dentro del codigo, no se si sea por eso, saludos

    1. No tengo instalado el programa Adobe Flash CS4 profesional ya que me he pasado a otro sistema operativo y los archivos guardados que tengo no puedo probarlos. Si me puedes hacer el favor pruebalo poniéndolo en ingles function y me cuentas como ha ido.

  2. Hola, gracias por responder, pero sigue sin funcionar este es el codigo que tengo:

    var myXMLLoader: URLLoader = new URLLoader ();
    myXMLLoader.load (new URLRequest (“twitter.php”));
    myXMLLoader.addEventListener (Event.COMPLETE, processXML);
    function processXML (e: Event): void {
    var myXML: XML = new XML (e.target.data);

    tweet_1.text myXML.status = [0] texto.;
    tweet_2.text = myXML.status [1] texto.;
    tweet_3.text myXML.status = [2] texto.;
    tweet_4.text = myXML.status [3] texto.;
    }

    follow_btn.addEventListener (MouseEvent.CLICK, onFollow);
    onFollow function (e: MouseEvent): void {
    (New URLRequest (“http:///twitter.com/aztequin”)) navigateToURL;
    }
    follow_btn.buttonMode = true;

    En la carpeta en donde tengo los archivos tengo lo siguiente:
    crossdomain.xml
    flash_entwitter.swf
    index.html
    twitter.php

    y donde hago las pruebas es:
    http://dao-comunicacion.com/web_arqmov/twitter_flash/

    gracias, saludos

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.