Info / Dicas

13 out 2010 15h30

OAuth Twitter bloqueado - Solução

  • URL Curta:

Venda: Ssd Sata Wd Green 240gb - Para Notebook, Mini Pc - 2.5

Venda: Memoria Corsair 8gb (2 X 4gb) Ddr3 Notebook, Mini Pc

Venda: Injetor Poe Eap225 24v Passivo - Tl-poe2412g - Tp-link

Venda: Injetor Poe Ubiquiti 802.3at 48v 30w Gigabit U-poe-at

Olá pessoal,

Com essa alteração recente do twitter como já devem todos saber, onde o mesmo só permite enviar e certas ações através do OAuth, dessa forma garantindo mais segurança.

Estou atualmente usando o twitteroauth do Abraham Williams. Muito boa claro. Estava usando para postar e consultar algumas informações e estava funcionando numa boa. Esses dias não sei porquê raios todas essas opções de acesso ao twitter pararam de funcionar, tanto essa biblioteca como requisitar acesso via xml com Dom Xml, simple_xml, etc. Nada funcionava. Na verdade não foi nenhum destes recursos que parou de funcionar e sim me parece que foi bloqueado pelo host ou o twitter que bloqueou o ip da hospedagem. De qualquer forma um dos dois fez algum tipo de bloqueio que impedia a postagem e consulta de dados. Localmente eu conseguia fazer funcionar, provavelmente por causa do meu ip dinâmico, todos sites da hospedagem estão com o mesmo problema.

Então se por acaso você estiver hospedado na KingHost e tiver o mesmo problema, vai uma solução que tive que bolar. Já estava para desistir quando me passou pela cabeça: proxy. Eis a solução e apresento-lhes abaixo.

Basta abrir o arquivo: twitteroauth.php

Procure:
curl_setopt($ci, CURLOPT_URL, $url);


Adicione antes:
$url = 'http://www.unblock-web.com/index.php?q='.base64_encode($url);


Isso faz toda requisição ao twitter passar pelo proxy mencionando acima, dessa forma resolvendo o problema de bloqueio.

Mas se você não usa twitteroauth e apenas o simplexml_load_file, o mesmo se aplica, eis um exemplo simples:

    $url = 'http://api.twitter.com/statuses/user_timeline/mndti.xml?count=1';
$xml = simplexml_load_file('http://www.unblock-web.com/index.php?q='.base64_encode($url));

© MNDTI - Tecnologia e Informação. Todos Direitos Reservados. Política de privacidade.