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));