Yahoo Pipes RSS pubDate showing as “undefined” when viewed through Google Feeds API

瘦欲@ 提交于 2020-01-13 18:22:05

问题


I have an RSS feed which I've created in Yahoo Pipes. You can view it here.

When viewing that through Google Feed's API, however, the pubDate is coming up as undefined (for avoidance of doubt, I've also tried formatting that with the case PubDate).

Here's the code I've used:

<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>

...and here it is on an example page.

I've done some Googling about on this, and discovered that there appears to be a little documented problem with the way that Yahoo Pipes outputs PubDate. I've tried following the instructions in the question Can't get pubDate to output in Yahoo! Pipes? (the resulting pipe is here), but it doesn't seem to make any difference.

How can I output a proper PubDate on Google Feed from a Yahoo Pipes RSS feed? Is this even possible?


回答1:


Simply change:

thefeeds[i].pubDate

to:

thefeeds[i].publishedDate

I tested this on Google Code Playground:

  • https://code.google.com/apis/ajax/playground/#load_feed
  • In OnLoad, change the URL to your Yahoo Pipes link
  • In the main loop in feedLoaded, edit the middle part to:

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

Specifically in the JavaScript console you can see the entry object has a publishedDate property instead of pubDate.

It it works on the playground, it should work on your site too, I hope.



来源:https://stackoverflow.com/questions/19357960/yahoo-pipes-rss-pubdate-showing-as-undefined-when-viewed-through-google-feeds

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!