我有一个在Yahoo Pipes中创建的RSS feed。您可以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上。

我对此进行了一些谷歌搜索,发现Yahoo Pipes输出PubDate的方式似乎存在一些记录在案的问题。我已尝试按照问题Can't get pubDate to output in Yahoo! Pipes?(结果管道为here)中的说明进行操作,但似乎没有任何区别。

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

最佳答案

只需更改:

thefeeds[i].pubDate

至:
thefeeds[i].publishedDate

我在Google Code Playground上对此进行了测试:
  • https://code.google.com/apis/ajax/playground/#load_feed
  • OnLoad中,将URL更改为Yahoo Pipes链接
  • feedLoaded的主循环中,将中间部分编辑为:
    div.appendChild(document.createTextNode(entry.title));
    div.appendChild(document.createTextNode(entry.publishedDate));
    console.log(entry);
    

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

    我希望它可以在操场上运行,也应该在您的站点上运行。

    关于javascript - 通过Google Feeds API查看时,Yahoo Pipes RSS pubDate显示为 “undefined”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19357960/

    10-10 05:32