Pode Gmail do aleatórios assinaturas-de-um-do feed RSS ser usado para assinaturas verdadeiramente dinâmicos?
Pergunta
Este é um novo Gmail Labs recurso que permite que você especifique um feed RSS para agarrar citações aleatórias de anexar a sua assinatura de email. Eu gostaria de usar isso para gerar assinaturas de programação com base em parâmetros que passam em, a hora atual, etc. (Por exemplo, eu tenho um script em pinho que acrescenta as probabilidades atuais de McCain e Obama vencedoras, obtida a partir de API do Intrade. veja abaixo.) Mas parece gmail armazena em cache o conteúdo da URL que você especificar. Qualquer forma de controle que ou quem sabe quantas vezes gmail olhares na URL?
ADICIONADO: Aqui está o programa que eu estou usando para testar isto. Este arquivo vive em http://kibotzer.com/sigs.php . A idéia de cabeçalho no-cache, tomada a partir daqui - http://mapki.com/wiki/Dynamic_XML -. parece não ajuda
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");
//XML Header
header("content-type:text/xml");
?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">
<channel>
<title>Dynamic Signatures</title>
<link>http://kibotzer.com</link>
<description>Blah blah</description>
<language>en-us</language>
<pubDate>26 Sep 2008 02:15:01 -0000</pubDate>
<webMaster>dreeves@kibotzer.com</webMaster>
<managingEditor>dreeves@kibotzer.com (Daniel Reeves)</managingEditor>
<lastBuildDate>26 Sep 2008 02:15:01 -0000</lastBuildDate>
<image>
<title>Kibotzer Logo</title>
<url>http://kibotzer.com/logos/kibo-logo-1.gif</url>
<link>http://kibotzer.com/</link>
<width>120</width>
<height>60</height>
<description>Kibotzer</description>
</image>
<item>
<title>
Dynamic Signature 1 (<?php echo gmdate("H:i:s"); ?>)
</title>
<link>http://kibotzer.com</link>
<description>This is the description for Signature 1 (<?php echo gmdate("H:i:s"); ?>) </description>
</item>
<item>
<title>
Dynamic Signature 2 (<?php echo gmdate("H:i:s"); ?>)
</title>
<link>http://kibotzer.com</link>
<description>This is the description for Signature 2 (<?php echo gmdate("H:i:s"); ?>) </description>
</item>
</channel>
</rss>
-- http://ai.eecs.umich.edu/people/dreeves - - search://"Daniel Reeves" Latest probabilities from intrade... 42.1% McCain becomes president (last trade 18:07 FRI) 57.0% Obama becomes president (last trade 18:34 FRI) 17.6% US recession in 2008 (last trade 16:24 FRI) 16.1% Overt air strike against Iran in '08 (last trade 17:39 FRI)
Solução
Você pode ser capaz de fazer algo sobre o clientside, dê uma olhada neste greasemonkey roteiro o que aumenta aleatoriamente uma assinatura. Desde que está sob seu controle, e não o do Google, você pode controlar se ele armazena em cache ou não.
Outras dicas
Tente configurar a Cache-Control: no-cache e Pragma: no-cache HTTP cabeçalhos. Se honras de código assinatura do Google um desses cabeçalhos, então você vai ser na sorte.