Foros del Web » Programando para Internet » PHP »

PHP tweets

Estas en el tema de PHP tweets en el foro de PHP en Foros del Web. Hola estoy intentando postear un tweet con PHP pero no lo consigo. ¿Podrían decirme que error hay? Cita: <? require('twitteroauth.php'); //incluir la librería define('_CONSUMER_KEY','miconsumerkey'); //La ...
  #1 (permalink)  
Antiguo 15/12/2010, 10:37
 
Fecha de Ingreso: diciembre-2009
Ubicación: España
Mensajes: 380
Antigüedad: 14 años, 4 meses
Puntos: 1
PHP tweets

Hola estoy intentando postear un tweet con PHP pero no lo consigo.
¿Podrían decirme que error hay?
Cita:
<?
require('twitteroauth.php'); //incluir la librería
define('_CONSUMER_KEY','miconsumerkey'); //La obtenes en el paso 1
define('_CONSUMER_SECRET','miconsumersecret'); //La obtenes en el paso 1
define('_OAUTH_TOKEN','mioauthtoken'); //La obtenes en el paso 1
define('_OAUTH_TOKEN_SECRET','mioauthtokensecret') ; //La obtenes en el paso 1
$link = "unaurl";
$mensaje="mensaje del tweet";

$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=miusuariobitly&apiKey=R_5f95025ef92b f630f68649771d634abf&format=txt&longUrl=".$url_lar ga;
$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);
}
$username = 'miuserdetwitter';
$password = 'micontraseñadetwitter';
$status = urlencode(stripslashes(urldecode('Mensaje del tweet')));

if ($status) {
$tweetUrl = 'http://www.twitter.com/statuses/update.xml';

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "$tweetUrl");
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "status=$status");
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");

$result = curl_exec($curl);
$resultArray = curl_getinfo($curl);

if ($resultArray['http_code'] == 200){
echo "<br>";
echo 'Tweet Posteado'; }
else {
echo "<br>";
echo 'Error posteando Tweet.';

}

curl_close($curl);


}
?>
  #2 (permalink)  
Antiguo 20/04/2011, 08:53
Avatar de 9killua9  
Fecha de Ingreso: abril-2011
Mensajes: 7
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: PHP tweets

Yo estoy utilizando este código y funciona perfecto

<?php
function status_twitter($link, $status) {
require('../twitter/twitteroauth.php'); //incluir la librería
define('_CONSUMER_KEY','58GgUjjuS5rGzfXosouU0A'); //La obtenes en el paso 1
define('_CONSUMER_SECRET','xbBnnydwHWxNgPOT6Hwq5iw h9z2belK9QDn7BJWD2uc'); //La obtenes en el paso 1
define('_OAUTH_TOKEN','284580264-3n4IBwKMOJlyFJOm9ObJNjokqmsCkkju7m2NzGPB'); //La obtenes en el paso 1
define('_OAUTH_TOKEN_SECRET','CJ3LOdG9ThDjtMxpNXDC mQuuHU3idVOcwDpaEbKDlo'); //La obtenes en el paso 1

function getConnectionWithAccessToken() {
$connection = new TwitterOAuth(_CONSUMER_KEY, _CONSUMER_SECRET,_OAUTH_TOKEN, _OAUTH_TOKEN_SECRET);
return $connection;
}

$connection = getConnectionWithAccessToken();
// $link = create_bitly($link);
// Como ya sabéis, podéis integrar un acortador de URL.
$status = $status.'. '.$link;
$twitter = $connection->post('statuses/update', array('status' => $status));
}

status_twitter("http://algo.sscom","a ver de donde viene");
?>

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:50.