¿Cómo enviar tweets con php? Algo en mi codigo falla..

  • Autor Autor Ruiz86
  • Fecha de inicio Fecha de inicio
Ruiz86

Ruiz86

Eta
SEO
Verificación en dos pasos activada
Buenas, estoy leyendo varios manuales, casi todos en inglés y no consigo hacerlo andar.

El código que plantean en todos las manuales es similar a este:
Insertar CODE, HTML o PHP:
http://dorcu.com/2014/04/enviar-un-tweet-con-php-usando-la-api-1-1-de-twitter/

Ya tengo las claves de acceso que me he creado en twitter app pero nada.

¿Alguien puede echarme una mano?
 
¿Te sirvió? Únete a la conversación

Con tu cuenta gratis puedes responder, escribirle al autor por mensaje privado y comprar con Saldo retenido: el pago se libera cuando recibes lo acordado.

Toma 30 segundos · vuelves a este tema al terminar
Mostranos el codigo que tenes hasta el momento.
yo desde python usando la libreria pude enviar tweet sin problemas

Saludos HomeGuard
 
Te muestro mi código:

1º Te descargas la carpeta del siguiente enlace: https://mega.nz/#!5ZZDlRRL!xbdLbLjCw2pIYZWSp1X_ddTeh2BMik_3c3dVvQ96GA0 (están las clases que necesitamos: OAuth.php y twitteroauth.php)

2º En un nuevo archivo .php incluimos las clases anteriores y...

Función para enviar un twitt con imagen:
Insertar CODE, HTML o PHP:
//Parametros:
// $tweetMessage es el mensaje que quieres enviar, debe tener menos de 140 caracteres
// $keys son las keys que te da la aplicación que creas en twitter (la aplicación debe tener permisos de lectura y escritura) $keys es un array asociativo mas abajo muestro como
//$filePath es la url de la imagen que quieras enviar con el twitt

function anadir_twitt($tweetMessage, $keys, $filePath){
	$consumerKey = $keys['consumerKey'];
	$consumerSecret = $keys['consumerSecret'];
	$accessToken = $keys['accessToken'];
	$accessTokenSecret = $keys['accessTokenSecret'];

	$connection = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);
	$url = 'https://upload.twitter.com/1.1/media/upload.json';
	$method = 'POST';
	$parameters = array( 'media' => base64_encode(file_get_contents($filePath)) );
	$request = OAuthRequest::from_consumer_and_token($connection->consumer, $connection->token, $method, $url, $parameters);
	$request->sign_request($connection->sha1_method, $connection->consumer, $connection->token);
	$response = $connection->http($request->get_normalized_http_url(), $method, $request->to_postdata());
	if ($connection->format === 'json' && $connection->decode_json) {
		$response = json_decode($response);
		if (isset($response->media_id)){
			if(strlen($tweetMessage) <= 140) {
				$rjson = $connection->post('statuses/update', array('status' => $tweetMessage, 'media_ids' => $response->media_id));
				return $rjson;
			}
		}
		$err_media = ['errors' => [0 => json_decode('{"message":"imagen muy pesada","code":347}')]];
		return (object) $err_media;
	}
	return FALSE;
}
Llamamos a la funcion:
Insertar CODE, HTML o PHP:
$twitter_msg = 'my twitt';
$keys = ['consumerKey' => 'xxxxxxxxx', 'consumerSecret' => 'xxxxxxxxxxxx', 'accessToken' => 'xxxxxxx', 'accessTokenSecret' => 'xxxxxxx'];
$picture = 'http://xxx.xx/xxx.jpg';
anadir_twitt($twitter_msg, $keys, $picture);
 
Te agradezco mucho esta aportación 🙂
 

Temas similares

Atrás
Arriba