Fernando Sena - Programação & Tecnologia Digital
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Procurar
 
 

Resultados por:
 


Rechercher Pesquisa avançada

Palavras-chaves

Últimos assuntos
» Wii ganha versão de 'Street Fighter II' para Mega Drive com modo on-line
Metodos PHP Icon_minitime1Qua 16 Nov - 16:14 por fernandosena

» Segurança e redes sem fio
Metodos PHP Icon_minitime1Qua 16 Nov - 16:11 por fernandosena

» Nokia lançará tablet com Windows 8 em junho de 2012, diz executivo
Metodos PHP Icon_minitime1Qua 16 Nov - 16:05 por fernandosena

» Empresa registra aumento de 472% no número de vírus para Android
Metodos PHP Icon_minitime1Qua 16 Nov - 16:03 por fernandosena

» YouTube investe US$ 100 milhões em vídeos
Metodos PHP Icon_minitime1Sex 7 Out - 8:34 por fernandosena

» Todos os títulos futuros da Microsoft devem trazer suporte para o Kinect
Metodos PHP Icon_minitime1Sex 7 Out - 8:25 por fernandosena

» Resident Evil 5 - PC
Metodos PHP Icon_minitime1Sex 7 Out - 8:22 por fernandosena

» Novo trailer de Assassin’s Creed Revelations é lançado
Metodos PHP Icon_minitime1Sex 7 Out - 8:12 por fernandosena

» Biostar apresenta nova placa-mãe que permite acesso remoto via smartphones
Metodos PHP Icon_minitime1Sex 7 Out - 8:08 por fernandosena

novembro 2024
SegTerQuaQuiSexSábDom
    123
45678910
11121314151617
18192021222324
252627282930 

Calendário Calendário

Blog
Fórum grátis


Metodos PHP

2 participantes

Ir para baixo

Metodos PHP Empty Metodos PHP

Mensagem por fernandosena Qui 1 Set - 17:14

Lista 3. getUserTimeline()
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Twitter / myerman</title>
<link>http://twitter.com/myerman</link>
<description>Twitter updates from Thomas Myer / myerman.</description>
<language>en-us</language>
<ttl>40</ttl>
<item>
<title>myerman: just got my copy of groundswell...also,
just got back from seeing Taken. Liam Neeson kicks butt!</title>
<description>myerman: just got my copy of groundswell...also, just got back from
seeing Taken. Liam Neeson kicks butt!</description>
<pubDate>Sun, 01 Feb 2009 04:16:55 +0000</pubDate>
<guid>http://twitter.com/myerman/statuses/1166126064</guid>
<link>http://twitter.com/myerman/statuses/1166126064</link>
</item>
<item>
<title>myerman: For those of us trying to learn
Objective-C - some libraries. http://tinyurl.com/dkaj4m</title>
<description>myerman: For those of us trying to learn
Objective-C - some libraries. http://tinyurl.com/dkaj4m</description>
<pubDate>Fri, 30 Jan 2009 20:06:13 +0000</pubDate>
<guid>http://twitter.com/myerman/statuses/1162686918</guid>
<link>http://twitter.com/myerman/statuses/1162686918</link>
</item>
<item>
<title>myerman: RT @andyhunter Google Chief Economist
on innovation: Weâre in the middle of .. a period of âcombinatorial innovation.â
http://bit.ly/xgpN</title>
<description>myerman: RT @andyhunter Google Chief Economist
on innovation: Weâre in the middle of .. a period of âcombinatorial innovation.â
http://bit.ly/xgpN</description>
<pubDate>Fri, 30 Jan 2009 15:35:18 +0000</pubDate>
<guid>http://twitter.com/myerman/statuses/1161902779</guid>
<link>http://twitter.com/myerman/statuses/1161902779</link>
</item>
<item>
<title>myerman: A-Team movie out next year? I love it when a plan comes together.
http://tinyurl.com/ahckx9</title>
<description>myerman: A-Team movie out next
year? I love it when a plan comes together.
http://tinyurl.com/ahckx9</description>
<pubDate>Thu, 29 Jan 2009 19:21:34 +0000</pubDate>
<guid>http://twitter.com/myerman/statuses/1159386717</guid>
<link>http://twitter.com/myerman/statuses/1159386717</link>
</item>
<item>
<title>myerman: @andyhunter @cesart it's the pulvinar that gets you in trouble...
every time!</title>
<description>myerman: @andyhunter @cesart
it's the pulvinar that gets you in trouble...
every time!</description>
<pubDate>Thu, 29 Jan 2009 16:44:30 +0000</pubDate>
<guid>http://twitter.com/myerman/statuses/1158923928</guid>
<link>http://twitter.com/myerman/statuses/1158923928</link>
</item>
<item>
<title>myerman: Create a manga avatar of yourself. http://www.faceyourmanga.com
</title>
<description>myerman: Create a manga avatar of yourself. http://www.faceyourmanga.com
</description>
<pubDate>Thu, 29 Jan 2009 16:43:55 +0000</pubDate>
<guid>http://twitter.com/myerman/statuses/1158922223</guid>
<link>http://twitter.com/myerman/statuses/1158922223</link>
</item>
<item>
<title>myerman: Zombies ahead on Lamar & 15th....silly hackers!
http://tinyurl.com/c2s3nw</title>
<description>myerman: Zombies ahead on Lamar & 15th....silly hackers!
http://tinyurl.com/c2s3nw</description>
<pubDate>Thu, 29 Jan 2009 13:21:24 +0000</pubDate>
<guid>http://twitter.com/myerman/statuses/1158382096</guid>
<link>http://twitter.com/myerman/statuses/1158382096</link>
</item>
<item>
<title>myerman: Obama's Mac: http://tinyurl.com/b4hsza</title>
<description>myerman: Obama's Mac: http://tinyurl.com/b4hsza
</description>
<pubDate>Thu, 29 Jan 2009 13:17:58 +0000</pubDate>
<guid>http://twitter.com/myerman/statuses/1158375012</guid>
<link>http://twitter.com/myerman/statuses/1158375012</link>
</item>
<item>
<title>myerman: OK, looks like I'll be
speaking on Saturday at SxSW 2009. More details
for the freelancer in your life: http://tinyurl.com/df8my9</title>
<description>myerman: OK, looks like I'll be speaking on Saturday at SxSW 2009.
More details for the freelancer in your life: http://tinyurl.com/df8my9</description>
<pubDate>Wed, 28 Jan 2009 22:39:29 +0000</pubDate>
<guid>http://twitter.com/myerman/statuses/1156744158</guid>
<link>http://twitter.com/myerman/statuses/1156744158</link>
</item>

...snip
</channel>
</rss>
Há um porém: não se deve simplesmente chamara essa função repetidamente até atingir o limite da taxa. Em vez disso, deve-se controlar um pouco os pedidos.
Pode-se fazer algo bem inteligente com o método rateLimitStatus() e algum armazenamento em cache rolado do início para obter um efeito de armazenamento em cache local.
O método rateLimitStatus(), mostrado na Lista 7, é um pedido simples que permite verificar se atingiu seu limite de taxa por hora e, não, antes que pergunte, verificar o status do limite da taxa não conta para seu limite. Tudo que precisa ser feito é fornecer um formato e a função faz o resto.
Lista 4. rateLimitStatus()
include_once("twitter.lib.php");

$user = "your-username";
$pw = "your-pw";

$twitter = new Twitter($user,$pw);
$status = $twitter->rateLimitStatus("xml");
echo $status;
Ao executar o método rateLimitStatus(), receberá o XML a seguir de volta.
Lista 5. rateLimitStatus()
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<hourly-limit type="integer">100</hourly-limit>
<reset-time type="datetime">2009-02-02T05:44:45+00:00</reset-time>
<reset-time-in-seconds type="integer">1233553485</reset-time-in-seconds>
<remaining-hits type="integer">99</remaining-hits>
</hash>
O que deseja é o valor dentro do nó remaining-hits. Se isso atingir cinco alguma vez (ou possivelmente 10), vá para seu feed RSS armazenado em cache em vez disso.
Com esse conjunto de nós XML disponível, tudo que precisa ser feito é carregar SimpleXML para simplesmente analisar o status do limite da taxa. É claro que se não estiver familiarizado com as excentricidades de XML, pode ser melhor analisar em JSON.
Executar o mesmo código usando o formato JSON resulta em uma instrução muito mais compacta:
{"remaining_hits":95,"hourly_limit":100,"reset_time":"Mon Feb 02 05:44:45 +0000 2009",
"reset_time_in_seconds":1233553485}
Poderia gastar algum tempo para dividir essa cadeia por vírgulas e, então, novamente por dois pontos para obter o valor de remaining_hits. Isso é bem simples, é claro. No entanto, se estiver executando PHP V5.2.0 ou superior, provavelmente já possui o método json_decode()disponível.
Conforme mostrado na Lista 9, tudo que precisa ser feito é usar essa função para obter o número remaining_hits e, então, usar uma instrução if simples para ver se esse número está perto de 10 ou se é inferior.
Se não estiver, retire o feed RSS do Twitter, mas salve-o em um arquivo para uso posterior. Se for inferior a 10, forneça o arquivo RSS salvo armazena em cache localmente.
Lista 6. json_decode()
include_once("twitter.lib.php");

$user = "your-username";
$pw = "your-password";

$twitter = new Twitter($user,$pw);
$status = $twitter->rateLimitStatus("json");
$fileName = $user.".rss";

$json_dump = json_decode($status);

$remaining = $json_dump->remaining_hits;

if ($remaining <= 10){

$fh = fopen($fileName, 'r');
$rssData = fread($fh, filesize($fileName));
fclose($fh);
echo $rssData;


}else{

$rss = $twitter->getUserTimeline("rss", $user);

//write to file
//in case we need it!
$fh = fopen($fileName,'w') or die("can't write to file");
fwrite($fh,$rss);
fclose($fh);

echo $rss;
}
Tudo que resta é dar a esse arquivo PHP um nome apropriado (por exemplo, twitterfeed.php) e usá-lo de forma apropriada oferecendo-o a seus usuários como outra opção de assinatura, alimentando um widget de barra lateral WordPress ou algo parecido.
fernandosena
fernandosena
Admin

Mensagens : 155
Data de inscrição : 01/09/2011
Idade : 60
Localização : Salvador-BA

http://www.wix.com/fernandopadre/padre

Ir para o topo Ir para baixo

Metodos PHP Empty Re: Metodos PHP

Mensagem por maria eduarda Sex 2 Set - 19:23

cheers Gostei muito do codigo, apesar de um pouco grande,mais muito eficiente.
maria eduarda
maria eduarda

Mensagens : 14
Data de inscrição : 02/09/2011
Localização : Trav. Dias Gomes 234, Candéal - Salvador-BA

Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos