em Wordpress

Tentando fazer Tweetbacks e migre.me se darem bem

Até hoje eu não podia chegar a dizer que possuo um compactador de URLs favorito. De qualquer maneira, reconheço que este tipo de serviço é extremamente necessário nos tempos atuais, principalmente para qualquer um que se encontre  s voltas com a arte do microblogging, sobretudo o Twitter.

Tenho acompanhado a crescente utilização, pelos blogueiros brasileiros, de um compactador de URL 100% nacional. Trata-se do migre.me, que não apenas reduz os endereços para que caibam junto  s mensagens de 140 caracteres típicas dos serviços de microblogging, mas também atua como uma espécie de Digg brasileiro, computando URLs, vídeos e fotos populares no Twitter, o que eu acho simplesmente genial.

No entanto, é justamente o migre.me que vem me tirando o sono há alguns dias, tudo porquê, usuário do plugin Tweetback para WordPress como me declarei recentemente, estive  s voltas com tentativas de ajustar o código PHP do autor para fazer com que eventuais citações a meus artigos através do serviço brasileiro também aparecessem por aqui, entre os últimos comentários.

Minha batalha começou quando, recentemente, percebi que o migre.me já possui uma API. É verdade que dá um pouco mais de trabalho mexer com ela pra obter as URLs compactadas, já que é preciso ler um arquivo XML para que a mágica aconteça, mas nada de outro mundo.

No arquivo principal do plugin para WordPress que eu estou usando para exibir os Tweetbacks aqui no blog — tweetback.php — há uma função chamada fh_tweetback_getshorturl, que é, como o nome diz, responsável por obter as URLs compactadas de serviços como o tinyurl, bit.ly e outros. Foi lá onde eu acrescentei algumas coisas por conta própria para fazer com que também as URLs compactadas pelo migre.me fossem levadas em conta na hora de verificar se houve citações do Twitter por aqui.

A função em si ficou assim — notem que todos os comentários em inglês do autor do plugin foram mantidos… eu só acrescentei mesmo a parte do migre.me:

 function fh_tweetback_getshorturl($permalink,$provider='tinyurl.com') {
 $permalink = urlencode($permalink);
 //http://blog.cli.gs/news/analysis-of-linking-patterns-on-twitter-cligs-scores-well
 switch($provider) {
 case 'tinyurl.com':
 return fh_tweetback_curl('http://tinyurl.com/api-create.php?url='.$permalink);
 case 'is.gd':
 return fh_tweetback_curl('http://is.gd/api.php?longurl='.$permalink);
 case 'bit.ly':
 return fh_tweetback_curl('http://bit.ly/api?url='.$permalink);
 case 'twiturl.de':
 return fh_tweetback_curl('http://api.twiturl.de/friends.php?output=txt&new_url='.$permalink);
 case 'migre.me':
 $xml = simplexml_load_file('http://migre.me/api.xml?url='.$permalink);
 return (string)$xml->migre;
 /* blearg, I really dont feel like all that signupapikeystuffpostcomplicated, what the hell.
 * Maybe I'll have more motivation later on to register or do post mechanism, for now on
 * its just like that. tinyurl ftw! 🙂
 * (and yes, I understand why registration and keys can make sense. however, I am still too lazy for that.)
 case 'twurl.nl':
 return fh_tweetback_curl('http://is.gd/api.php?longurl='.$permalink);
 case 'snipurl.com':
 return fh_tweetback_curl('http://is.gd/api.php?longurl='.$permalink);
 case 'snurl.com':
 return fh_tweetback_curl('http://is.gd/api.php?longurl='.$permalink);*/
 default:
 return false;
 }
 return false;
 }

Pois bem: Devo dizer que, antes de partir para a alteração do código do plugin, fiz um teste em arquivo PHP separado para verificar se a obtenção de URLs aqui do blog compactadas pelo migre.me estava funcional, inclusive levando em conta que elas devem ser tratadas pela função PHP urlencode.

Os testes funcionaram perfeitamente. Uma maravilha, mesmo. No entanto, depois de começar a postar uma série de testes a partir do TweetDeck, percebi que os tweetbacks ora aparecem, ora não aparecem no blog. E, sinceramente, estou numa dúvida violenta entre se tratar de um problema no plugin, ou algo que eu esteja fazendo errado com a própria API do migre.me.

A impressão que tenho é que eu quase cheguei lá, mas alguma coisa ainda parece precisar de ajustes. Como entendo um pouquinho de PHP mas no momento estou mais pra weekend programmer do que qualquer outra coisa, enviei o link deste texto para o desenvolvedor do migre.me, na esperança de que ele possa me apontar algum problema — caso aplicável. Também enviei um e-mail ao desenvolvedor do plugin Tweetback, Florian Holzhauer, asking for his advice:

Hi there, Florian!

My name is Daniel Santos, and I’m a Brazilian WordPress user. I came across your e-mail address thanks to your excellent Tweetback plugin for WordPress, which not only I’ve been using in my own blog, but also have been trying to extend.

Let me explain: A lot of Brazilian users have been exchanging abroad URL shorteners like http://tinyurl.com or http://bit.ly for http://migre.me, which is a 100% Brazilian-made URL shortener. Developers from http://migre.me have recently deployed an XML-based API (http://migre.me/blog/api-gerador-de-urls/) that can be used to retrieve shortened URLs to be used as one best fits.

After implementing some code using your PHP plugin file as a reference, I created a variation of it (which I’m sending you, attached to this message). Simple enough, I have added some lines of code to your fh_tweetback_getshorturl function, retrieving a XML file and getting one attibute out of it. Besides, I added http://migre.me to the Admin Panel backend, exactly as I noticed you yourself did with the other services your plugin works with.

Unfortunately, there IS a problem, as shortened URLs created by http://migre.me sometimes appear listed in my post’s comments, sometimes not. Fact is, I don’t know, out of three possible situations, which is actually happening:

(1) my changes to your code were not enough — or are possibly wrong;
(2) the problem might be located in my misuse of http://migre.me API itself.
(3) my PHP skill sucks (LOL)

As #3 is currently impossible to solve and I have contacted http://migre.me developers for help, I’m asking you to please help me figure out if the problem could be with the plugin itself.

Hoping that you will answer me as soon as possible, I would like to thank you in advance, and possibly expect my contribution to your plugin to be useful – as I think several Brazilian tweetbackers will find.

Best regards,

Daniel Santos
http://danielsantos.org/

No entanto, este meu artigo é também um pedido de ajuda pra quem mais quiser se habilitar a fazer a coisa funcionar. Uma vez que a popularidade do migre.me aumenta cada dia mais entre os internautas e blogueiros brazucas, penso que a integração com o plugin para WordPress seja uma ótima pedida.

Ah, é claro: A minha modificação do plugin pode ser visualizada através deste link.

Escreva um comentário

Comentário

Webmentions

  • Vandehugo 08/03/2009

    @jonnyken Já viste isso? http://migre.me/zU1

  • vandehugo (Vandehugo) 08/03/2009

    Twitter Comment


    @jonnyken Já viste isso? [link to post]

    – Posted using Chat Catcher