Yahoo Pipes RSS pubDate显示为" undefined"通过Google Feeds API查看时

时间:2013-10-14 10:12:59

标签: javascript rss yahoo-pipes google-feed-api pubdate

我有一个我在Yahoo Pipes中创建的RSS源。你可以view it here

然而,当通过Google Feed的API查看时,pubDate将显示为未定义(为避免疑问,我还尝试使用PubDate格式化格式)。

这是我用过的代码:

<div class="clear" id="feed">
    &nbsp;</div>
<script type="text/javascript">
var feedcontainer=document.getElementById("feed")
var feedurl="http://pipes.yahoo.com/pipes/pipe.run?_id=f0eb054e3a4f8acff6d4fc28eda5ae32&_render=rss"
var feedlimit=5
var rssoutput="<h3>Business and Tax News</h3><ul>"


function rssfeedsetup(){
var feedpointer=new google.feeds.Feed(feedurl)
feedpointer.setNumEntries(feedlimit) 
feedpointer.load(displayfeed) 
}

function displayfeed(result){
if (!result.error){
var thefeeds=result.feed.entries
for (var i=0; i<thefeeds.length; i++)
rssoutput+="<li><a href='" + thefeeds[i].link + "'>" + thefeeds[i].title + " (" + thefeeds[i].pubDate +")</a></li>"
rssoutput+="</ul>"
feedcontainer.innerHTML=rssoutput
}
else
alert("Error fetching feeds!")
}

window.onload=function(){
rssfeedsetup()
}

</script>

......这里是example page

我已经做了一些谷歌搜索,并发现雅虎管道输出PubDate的方式似乎有一些记录的问题。我已尝试按照问题Can't get pubDate to output in Yahoo! Pipes?中的说明操作(生成的管道为here),但似乎没有任何区别。

如何从Yahoo Pipes RSS Feed在Google Feed上输出正确的PubDate?这甚至可能吗?

1 个答案:

答案 0 :(得分:2)

简单地改变:

thefeeds[i].pubDate

为:

thefeeds[i].publishedDate

我在 Google Code Playground 上测试了这个:

  • https://code.google.com/apis/ajax/playground/#load_feed
  • OnLoad中,将网址更改为Yahoo Pipes链接
  • feedLoaded的主循环中,将中间部分编辑为:

    div.appendChild(document.createTextNode(entry.title));
    div.appendChild(document.createTextNode(entry.publishedDate));
    console.log(entry);
    

特别是在JavaScript控制台中,您可以看到entry对象具有publishedDate属性而不是pubDate

它可以在操场上运行,它也可以在你的网站上运行,我希望。