¿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
Verificado por Whatsapp
¡Ha verificado su Paypal!
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?
 
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