Skip to content
Jaccon
  • Home
  • Biografia
  • Github
  • Imasters
  • Entrevistas
  • Arquivo
  • Contato
Menu

Blue Systems OpenLabs: Função para postar no Twitter automáticamente já com short URL

André Jaccon
Tech Lead Mobsale Payments & E-commerce

Eu mantenho este trabalho de forma voluntária e sem fins lucrativos desde 2003. Se puder siga-me nas redes sociais

Linkedin
Github
Youtube
Facebook
Twitter
LinkedIn
Email
Print
WhatsApp

Faça parte das comunidades que eu participo no Telegram e Discor.

Participar

Esta função foi criada para utilização pelo CMS da Blue Systems e é muito simples de adaptar para qualquer outro CMS.

// criando url curta
function bitlyURL($url,$login,$appkey,$format = 'xml',$version = '2.0.1')
{
//create the URL
$bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$appkey.'&format='.$format;

//get the url
//could also use cURL here
$response = file_get_contents($bitly);

//parse depending on desired format
if(strtolower($format) == 'json')
{
$json = @json_decode($response,true);
return $json['results'][$url]['shortUrl'];
}
else //xml
{
$xml = simplexml_load_string($response);
return 'http://bit.ly/'.$xml->results->nodeKeyVal->hash;
}
}

function tweetPOST($id,$idtweet){
require("../bs.includes/config.inc.php");
// retornando infos da conta do Twitter
$sql="SELECT
nome,password
FROM
bscms_tweets
WHERE
id = $idtweet
";
$query=mysql_query($sql);
$row=mysql_fetch_row($query);
// resgatando usuario e senha
$user=$row[0];
$password=base64_decode($row[1]);

// retornando titulo do post e link
$sql="SELECT
id,conteudo_nome,conteudo_linkexterno
FROM
bscms_conteudo
WHERE
id = $id and status = 1
";
$query=mysql_query($sql);
$result=mysql_fetch_assoc($query);
$titulo=$result["conteudo_nome"];
$link=$result["conteudo_linkexterno"];
if ($link == ""){
$link="$site_url/conteudo.php?id=$id";
// cria url curta
$urlcurta=bitlyURL($link,"bscms2","R_40afb13d7fa03a94eb39356683181de5","json");
}else{
$link=$result["conteudo_linkexterno"];
// cria url curta
$urlcurta=bitlyURL($link,"bscms2","R_40afb13d7fa03a94eb39356683181de5","json");
}

// gravando no Twitter
$msg="$titulo - $urlcurta";
$out="POST http://twitter.com/statuses/update.json HTTP/1.1\r\n"
."Host: twitter.com\r\n"
."Authorization: Basic ".base64_encode ($user.':'.$password)."\r\n"
."Content-type: application/x-www-form-urlencoded\r\n"
."Content-length: ".strlen ("status=$msg")."\r\n"
."Connection: Close\r\n\r\n"
."status=$msg";
$fp = fsockopen ('twitter.com', 80);
fwrite ($fp, $out);
fclose ($fp);
echo "<script language='javascript' type='text/javascript'>alert('Publicado no Twitter em $urlcurta');</script>";
}

André Jaccon Tech Lead
© Copyleft - André Jaccon Tech lead
Search for:
Fechar Menu