Cita:
Iniciado por pateketrueke acidlake, lamentablemente tu código no funciona pues debes saber que la API de Twitter es accesible solo desde OAuth, la vieja implementación RESTful ya no es soportada...
si brother, se me estaba olvidando aca esta el codigo nuevo:
- Creamos aplicación en Twitter Apps
- Elegimos Client como Application type y le damos permisos de Read & Write
- Obtenemos Consumer Key , Consumer Secret , Access Token(OAuth access token) y Access Token Secret(Oauth token secret)
- Descargamos la librería twitteroauth.php y oauth.php desde[URL="https://github.com/abraham/twitteroauth/tree/master/twitteroauth/"] aquí[/URL] y los subimos al server
- Por último creamos el mensaje y la url corta para actualizar nuestro estado.
Código PHP:
<?
require('twitteroauth.php'); //incluir la librería
define('_CONSUMER_KEY','tuConsumerKey'); //La obtenes en el paso 1
define('_CONSUMER_SECRET','tuConsumerSecret'); //La obtenes en el paso 1
define('_OAUTH_TOKEN','tuOAuthToken'); //La obtenes en el paso 1
define('_OAUTH_TOKEN_SECRET','tuOAuthTokenSecret'); //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=TuUsuario&apiKey=tuClaveApi&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);
}
?>