Como enviar tweets com php? Algo no meu código falha..

  • Autor Autor Ruiz86
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
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:
Inserir CODE, HTML ou 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?
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao 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:
Inserir CODE, HTML ou 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:
Inserir CODE, HTML ou 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 🙂
 

Tópicos similares

Voltar
Topo