我每天都有一个显示随机帖子的页面,我已经为它制作了一个自定义的RSS提要页面。我的问题是Mailchimp和使用RSS提要的类似服务(如IFTTT)如何检测“新项目”?
因为我的RSS Feed看起来像这样:
<channel>
<title><b>Quote of the Day</b></title>
<atom:link rel="self" href="http://www.mysite.com/qotd/feed-2" type="application/rss+xml"/>
<link>http:/mysite.com/qotd/feed-2</link>
<description>Textt</description>
<language>en-us</language>
<pubDate>Wed, 22 Jan 2014 21:30:45 +0000</pubDate>
<lastBuildDate>Wed, 22 Jan 2014 21:30:45 +0000</lastBuildDate>
<item>
<link>http://www.mysite.com/412</link>
<pubDate>Wed, 20 Jan 2014 07:17:45 +0000</pubDate>
<description><![CDATA[]]></description>
<guid>http://www.mysite.com/412</guid>
</item>
</channel>
</rss>
每隔24小时,Feed会更新一个新项目。问题是总共会有1个项目,并且pubdate可能是之前的旧日期,具体取决于它所提取的随机帖子。使用RSS的服务是否仍会检测到它,就像添加了新项目一样?
答案 0 :(得分:1)
这取决于实现,但通常他们会将新项目与本地存储的所有项目进行比较以确定它是否在之前的RSS中,并且只有在不存在时才显示它,因此这应该没问题(至少我用过的两个RSS提要阅读器都是这样工作的。)
如果您希望这些项目按照它们出现在您网站上的顺序显示,那么您应该使用当前日期而不是项目的实际日期。
答案 1 :(得分:1)
在Feed中只有一个项目并不是一种好习惯。如果给定服务不经常轮询订阅源,则会使您面临错过更新的风险。
“默认”行为是定期轮询Feed(每小时,每天......等)并比较两次提取之间的<item>
元素。他们可能会使用<guid>
来确定是否已检测到某个项目。
此外,许多消费应用程序(如您的情况下的IFTTT,但我不确定Mailchimp)将支持PubSubHubbub这是一个webhook协议,因此他们知道给定的Feed何时更新。它节省了他们(和你!)资源,因为他们不必经常轮询订阅源,但总会及时更新。
大多数情况下,<pubDate>
并不重要。您可以随意分享Feed的实际网址,以便我们准确地告诉您发生了什么。
答案 2 :(得分:0)
Mailchimp有一个有用的troubleshooting guide。似乎Mailchimp会评估Pubdate以确定项目是否已发布。从页面:
确保您的pubDate标记已设置并正确填充。如果pubDate设置在另一个时区或休息日,MailChimp可能无法识别在下一个广告系列被触发之前已过帐的项目。 以下是RSS源正确设置的示例。 pubDate是英文。我们按以下顺序提取任何这些标签的日期:'pubDate','pubdate','已发布','已创建','已更新','日期'。