Como usar esta funcion y las clases de Twitter y Bit.ly?
Ejemplo:
Código PHP:
Ver original// Ruta para buscar archivos a incluir
$incdir = '/ruta/de/tu/sitio';
// Matriz con opciones de configuracion, yo la cargo desde BDD
'twuser' => 'usuariotwitter',
'twpass' => 'contraseña_twitter',
'btlyuser' => 'usuariobitly',
'btlypass' => 'apiKey' // Es mejor usar api Key que la contraseña de usuario
);
function twitter_update($status, $url = '') {
global $incdir, $aconfig;
// Creamos las variables necesarias y verificamos que todo este correcto
$twuser = (isset($aconfig['twuser'])) ?
$aconfig['twuser'] : ''; $twpass = (isset($aconfig['twpass'])) ?
$aconfig['twpass'] : ''; $btlyuser = (isset($aconfig['btlyuser'])) ?
$aconfig['btlyuser'] : ''; $btlypass = (isset($aconfig['btlypass'])) ?
$aconfig['btlypass'] : '';
if($status == '')
return 'Por favor teclea el texto de tu nuevo estado en Twitter.';
if($twuser == '' || $twpass == '')
return 'Las opciones de Twitter no están configuradas';
if($url != '') {
// Aqui entramos solo si es necesario recortar un enlace
if($btlyuser == '' || $btlypass == '')
return 'Las opciones de Bit.ly no están configuradas.';
// Usamos include_once por si el proceso se ejecuta mas de una vez
include_once "$incdir/classes/bitly.php";
// Establecemos opciones, y ejecutamos
$btly = new Bitly($btlyuser, $btlypass);
$btly->setUserAgent('Bit.ly-php');
$btres = $btly->shorten($url);
// Verificamos si se recorto correctamente el enlace
if(isset($btres['url']) && $btres['url'] != '') $url = ' ' . $btres['url'];
else
return 'No se pudo recortar la dirección de la página a enlazar.';
}
// Limpiamos un poco el texto a publicar en Twitter
$ents = array("'", '"', '<', '>', '\\');
// Si se incluyo un enlace, hay que garantizar que aparezca completo
if($url != '') {
$status = substr($status, 0, $max); $status .= $url;
}
include_once "$incdir/classes/twitter.php";
// Establecemos opciones y ejecutamos
$tw = new Twitter($twuser, $twpass);
$tw->setUserAgent('Twitter-php');
$twres = $tw->updateStatus($status);
// Verificamos si se publico el nuevo estado
return 'Error desconocido: no se pudo actualizar el estado en Twitter';
return '';
}
$tw_resultado = twitter_update('Probando a actualizar el estado de Twitter desde PHP', 'http://www.forosdelweb.com/f18/aporte-curl-safe_mode-para-apis-twitter-bit-ly-808160/');
if($tw_resultado != '')
die("'Error actualizando estado en Twitter: $tw_resultado");