he estado haciendo pruebas y lo que ontengo es lo siguiente :)
en la raiz de hosting / creo la carpeta /twitter y dentro de ella :)
comtemplara
/twitter/
01 archivo CurrentSong.txt (obtien el nombre de la cancion previameete subida via FTP qeu se actualiza cada minuto)
01 archivo ajax.js (mostrar el texto del archivo CurrentSong.txt en el index.php)
01 archivo index.php (obtien el formulario + el llamado de CurrentSong.txt asi como la conexion a twitter y boton de envio)
02 archivo d ela libreria de Abrahm (para conectarte a twitter)
Poniendolo en marcha :)
Archivo CurrentSong.txt
Código:
Thalia - Amarillo Azul
Archivo ajax.js (funciona)
Código:
Archivo index.php (problema)// Cambia estos parametros var seconds = 60; // el tiempo en que se refresca var divid = "timediv"; // el div que quieres actualizar! var url = "CurrentSong.txt"; // el archivo que ira en el div //////////////////////////////// // // Refreshing the DIV // //////////////////////////////// function refreshdiv(){ // The XMLHttpRequest object var xmlHttp; try{ xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari } catch (e){ try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer } catch (e){ try{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ alert("Tu explorador no soporta AJAX."); return false; } } } // Timestamp for preventing IE caching the GET request fetch_unix_timestamp = function() { return parseInt(new Date().getTime().toString().substring(0, 10)) } var timestamp = fetch_unix_timestamp(); var nocacheurl = url+"?t="+timestamp; // The code... xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState==4){ document.getElementById(divid).innerHTML=xmlHttp.responseText; setTimeout('refreshdiv()',seconds*1000); } } xmlHttp.open("GET",nocacheurl,true); xmlHttp.send(null); } // Empieza la función de refrescar window.onload = function startrefresh(){ setTimeout('refreshdiv()',seconds*1000); }
Código:
Librerias Descargalas de http://dl.dropbox.com/u/20151934/tu/twitteroauth.rar<?php require('twitteroauth.php'); //incluir la librería define('_CONSUMER_KEY','8dQjLe0MIbKGNEoJoyUoiw'); //La obtenes en el paso 1 define('_CONSUMER_SECRET','XP7ISxd3aZSIkLkN8nYBiiJhKtbXPPHPHpm1l8tSQ'); //La obtenes en el paso 1 define('_OAUTH_TOKEN','98953254-5wWZBcu1vhrP9iIt2iK0lJojC1V3jbvMWEFiTyvrc'); //La obtenes en el paso 1 define('_OAUTH_TOKEN_SECRET','fpwSm2kqKPJt4AVZuY6mZvoiLNmYBqot8gmvcaBU'); //La obtenes en el paso 1 $bit=tinyurl($link); //reducimos el link con la api de bit.ly $quedan=(140-strlen($bit))-4; // calculo los caracteres restantes que me quedan para publicar restando los puntos suspensivo $mensaje=substr($mensaje,0,$quedan).' ...'.$bit; // corto el mensaje en caso de que sea muy largo //declaramos la función que realiza la conexión a tu aplicación de twitter function getConnectionWithAccessToken() { $connection = new TwitterOAuth(_CONSUMER_KEY, _CONSUMER_SECRET,_OAUTH_TOKEN, _OAUTH_TOKEN_SECRET); return $connection; } //Realizamos la conexión $connection = getConnectionWithAccessToken(); //Publicamos el mensaje en twitter $twitter=$connection->post('statuses/update', array('status' =>utf8_encode($mensaje))); //Función para acortar URL con bit.ly . Primero debemos registrarnos en http://bit.ly para obtener clave api y usuario function tinyurl($url_larga){ $tiny = "http://api.bit.ly/v3/shorten?login=donaorgasmos&apiKey=R_3f7896f1a9c43047c9700aab3ef4edfb&format=txt&longUrl=".$url_larga; $sesion = curl_init(); curl_setopt ( $sesion, CURLOPT_URL, $tiny ); curl_setopt ( $sesion, CURLOPT_RETURNTRANSFER, 1 ); $url_tiny = curl_exec ( $sesion ); curl_close( $sesion ); return($url_tiny); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento sin título</title> <script src="ajax.js"></script><!--Aqui el java script que llama la funcion del Ajax--> </head> <body> <!--Aqui el java script que llama la funcion del Ajax--> <script type="text/javascript"> refreshdiv(); </script> <!--Aqui el Div en el que se coloca el contenido de escucho.php--> <div name="timediv" id="timediv"> </div> <form name="form" method="post"> <input name="mensaje" name="timediv" id="timediv" type="text" value="123" width="60"> <input type="text" name="url" value="http://web de la radio/" width="20"> <input type="submit" value="Enviar"></form> </body> </html>
OAuth.php
twitteroauth.php
Es un sript sencillo parentemente el tema o problema esta en la conectividad hay que tener en cuenta de que se debe activar el CURL en el hosting y la version el PHP favor de ayudarme con esto ultimo :)
para ustedes genera pruebas deben crear su cuenta de twitter, y su API esto esta en la aprte inferior de la web de twitter.
Debe quedar asi :
Saludos
Zarith