hi jeremy, after that change still i am getting the same error saying cant find variable google in gfeedFetcher.js at line 9. any idea where i am wrong?
On Thu, Jan 5, 2012 at 6:39 PM, Jeremy Geerdes <[email protected]> wrote: > You do need the line that you removed. It just needs to be changed to this: > > <script type="text/javascript" src="http://www.google.com/jsapi"></script> > > Jeremy R. Geerdes > Generally Cool Guy > Des Moines, IA > > For more information or a project quote: > [email protected] > > If you're in the Des Moines, IA, area, check out Debra Heights Wesleyan > Church! > > On Jan 5, 2012, at 1:10 AM, raghvendra garg wrote: > > hi jeremy, > > i am just trying a small example i got on the web on my android app > > this is the HTML > > <head> > <title>Demo App</title> > <script src="scripts/phonegap-1.0.0rc2.js"></script> > <script src="scripts/jquery-1.6.4.min.js"></script> > <script src="scripts/jquery.mobile.min.js"></script> > <script src="scripts/dbfunc.js"></script> > <link rel="stylesheet" href="css/jquery.mobile.min.css" /> > <script language="javascript" type="text/javascript" > src="scripts/gfeedfetcher.js"></script> > <link rel="stylesheet" href="css/styles.css" /> > </head> > > <script type="text/javascript"> > function getFeeds(){ > alert("get Feeds"); > var newsfeed=new gfeedfetcher("rssfeeds", "rssfeedsclass", "_new") > newsfeed.addFeed("VANILLA", " > http://vanillajava.blogspot.com/feeds/posts/default?alt=rss"); > newsfeed.addFeed("GOOGLE NEWS", "http://news.google.com/?output=rss"); > newsfeed.addFeed("BLOGOOLA's Blog", "http://blogoola.com/blog/feed/"); > newsfeed.displayoptions("label datetime snippet"); > newsfeed.setentrycontainer("p"); > newsfeed.filterfeed(15, "date"); > newsfeed.init(); > } > </script> > > i m calliing the get feed method on onclick event > which in turn calls the init method in getFeedFetcher.js > > **********getFeedFetcher.js********* > > // ------------------------------------------------------------------- > // gAjax RSS Feeds Displayer- By Dynamic Drive, available at: > http://www.dynamicdrive.com > // Created: July 17th, 2007 > // Updated June 14th, 10': Fixed issue in IE where labels would sometimes > be associated with the incorrect feed items > // ------------------------------------------------------------------- > > var gfeedfetcher_loading_image="indicator.gif" //Full URL to "loading" > image. No need to config after this line!! > > google.load("feeds", "1") //Load Google Ajax Feed API (version 1) > > function gfeedfetcher(divid, divClass, linktarget){ > this.linktarget=linktarget || "" //link target of RSS entries > this.feedlabels=[] //array holding lables for each RSS feed > this.feedurls=[] > this.feeds=[] //array holding combined RSS feeds' entries from Feed > API (result.feed.entries) > this.feedsfetched=0 //number of feeds fetched > this.feedlimit=5 > this.showoptions="" //Optional components of RSS entry to show (none > by default) > this.sortstring="date" //sort by "date" by default > document.write('<div id="'+divid+'" class="'+divClass+'"></div>') > //output div to contain RSS entries > this.feedcontainer=document.getElementById(divid) > this.itemcontainer="<li>" //default element wrapping around each RSS > entry item > } > > gfeedfetcher.prototype.addFeed=function(label, url){ > this.feedlabels[this.feedlabels.length]=label > this.feedurls[this.feedurls.length]=url > } > > gfeedfetcher.prototype.filterfeed=function(feedlimit, sortstr){ > this.feedlimit=feedlimit > if (typeof sortstr!="undefined") > this.sortstring=sortstr > } > > gfeedfetcher.prototype.displayoptions=function(parts){ > this.showoptions=parts //set RSS entry options to show ("date, > datetime, time, snippet, label, description") > } > > gfeedfetcher.prototype.setentrycontainer=function(containerstr){ //set > element that should wrap around each RSS entry item > this.itemcontainer="<"+containerstr.toLowerCase()+">" > } > > gfeedfetcher.prototype.init=function(){ > alert("called"); > this.feedsfetched=0 //reset number of feeds fetched to 0 (in case > init() is called more than once) > this.feeds=[] //reset feeds[] array to empty (in case init() is called > more than once) > this.feedcontainer.innerHTML='<p><img > src="'+gfeedfetcher_loading_image+'" /> Retrieving RSS feed(s)</p>' > var displayer=this > for (var i=0; i<this.feedurls.length; i++){ //loop through the > specified RSS feeds' URLs > var feedpointer=new google.feeds.Feed(this.feedurls[i]) //create > new instance of Google Ajax Feed API > var items_to_show=(this.feedlimit<=this.feedurls.length)? 1 : > Math.floor(this.feedlimit/this.feedurls.length) //Calculate # of entries to > show for each RSS feed > if (this.feedlimit%this.feedurls.length>0 && > this.feedlimit>this.feedurls.length && i==this.feedurls.length-1) //If this > is the last RSS feed, and feedlimit/feedurls.length yields a remainder > items_to_show+=(this.feedlimit%this.feedurls.length) //Add > that remainder to the number of entries to show for last RSS feed > feedpointer.setNumEntries(items_to_show) //set number of items to > display > feedpointer.load(function(label){ > return function(r){ > displayer._fetch_data_as_array(r, label) > } > }(this.feedlabels[i])) //call Feed.load() to retrieve and output > RSS feed. > } > } > > > gfeedfetcher._formatdate=function(datestr, showoptions){ > var itemdate=new Date(datestr) > var parseddate=(showoptions.indexOf("datetime")!=-1)? > itemdate.toLocaleString() : (showoptions.indexOf("date")!=-1)? > itemdate.toLocaleDateString() : (showoptions.indexOf("time")!=-1)? > itemdate.toLocaleTimeString() : "" > return "<span class='datefield'>"+parseddate+"</span>" > } > > gfeedfetcher._sortarray=function(arr, sortstr){ > var sortstr=(sortstr=="label")? "ddlabel" : sortstr //change "label" > string (if entered) to "ddlabel" instead, for internal use > if (sortstr=="title" || sortstr=="ddlabel"){ //sort array by "title" > or "ddlabel" property of RSS feed entries[] > arr.sort(function(a,b){ > var fielda=a[sortstr].toLowerCase() > var fieldb=b[sortstr].toLowerCase() > return (fielda<fieldb)? -1 : (fielda>fieldb)? 1 : 0 > }) > } > else{ //else, sort by "publishedDate" property (using error handling, > as "publishedDate" may not be a valid date str if an error has occured > while getting feed > try{ > arr.sort(function(a,b){return new Date(b.publishedDate)-new > Date(a.publishedDate)}) > } > catch(err){} > } > } > > gfeedfetcher.prototype._fetch_data_as_array=function(result, ddlabel){ > var thisfeed=(!result.error)? result.feed.entries : "" //get all feed > entries as a JSON array or "" if failed > if (thisfeed==""){ //if error has occured fetching feed > alert("Some blog posts could not be loaded: "+result.error.message) > } > for (var i=0; i<thisfeed.length; i++){ //For each entry within feed > result.feed.entries[i].ddlabel=ddlabel //extend it with a > "ddlabel" property > } > this.feeds=this.feeds.concat(thisfeed) //add entry to array holding > all feed entries > this._signaldownloadcomplete() //signal the retrieval of this feed as > complete (and move on to next one if defined) > } > > gfeedfetcher.prototype._signaldownloadcomplete=function(){ > this.feedsfetched+=1 > if (this.feedsfetched==this.feedurls.length) //if all feeds fetched > this._displayresult(this.feeds) //display results > } > > > gfeedfetcher.prototype._displayresult=function(feeds){ > var rssoutput=(this.itemcontainer=="<li>")? "<ul>\n" : "" > gfeedfetcher._sortarray(feeds, this.sortstring) > for (var i=0; i<feeds.length; i++){ > var itemtitle="<a rel=\"nofollow\" href=\"" + feeds[i].link + "\" > target=\"" + this.linktarget + "\" class=\"titlefield\">" + feeds[i].title > + "</a>" > var itemlabel=/label/i.test(this.showoptions)? '<span > class="labelfield">['+this.feeds[i].ddlabel+']</span>' : " " > var itemdate=gfeedfetcher._formatdate(feeds[i].publishedDate, > this.showoptions) > var itemdescription=/description/i.test(this.showoptions)? "<br > />"+feeds[i].content : /snippet/i.test(this.showoptions)? "<br > />"+feeds[i].contentSnippet : "" > rssoutput+=this.itemcontainer + itemtitle + " " + itemlabel + " " > + itemdate + "\n" + itemdescription + this.itemcontainer.replace("<", "</") > + "\n\n" > } > rssoutput+=(this.itemcontainer=="<li>")? "</ul>" : "" > this.feedcontainer.innerHTML=rssoutput > } > > i removed the following line > <script type="text/javascript" language="javascript" src=" > http://www.google.com/jsapi?key=ABQIAAAAFEyVt-pBJaTXzM__EKlCrBRyn6VRRdQGMLQqRPPw1fs6QDtVcBRGklOHzrf7hmoAX3qgxg4t5ImqRA > "></script> > from the html > but still i am getting the same error > > 01-05 12:37:45.801: ERROR/Web Console(274): ReferenceError: Can't find > variable: google at file:///android_asset/www/scripts/gfeedfetcher.js:9 > > 01-05 12:37:55.191: ERROR/Web Console(274): TypeError: Result of > expression 'newsfeed.addFeed' [undefined] is not a function. at > file:///android_asset/www/home.html:19 > > Please help.. > > > > On Wed, Jan 4, 2012 at 10:53 PM, Jeremy Geerdes <[email protected]>wrote: > >> When you load the loader, does the URL include key= at all? If it does, >> then the loader will try to check the key you've provided, and if it's not >> valid, it will fail to return. Otherwise, I would have no idea without >> being able to look at your page and see the code. >> >> Jeremy R. Geerdes >> Generally Cool Guy >> Des Moines, IA >> >> For more information or a project quote: >> [email protected] >> >> If you're in the Des Moines, IA, area, check out Debra Heights Wesleyan >> Church! >> >> On Jan 4, 2012, at 11:12 AM, raghvendra garg wrote: >> >> hi jeremy, >> thanks for the reply >> but when i use the API without keys i get javascript error on line >> google.load("feeds", "1") that google is undefined for the page. >> >> what i thot that it may be due to api key. >> >> do u have any idea y i m getting this error if its not becoz of the key??? >> >> On Wed, Jan 4, 2012 at 6:31 PM, Jeremy Geerdes <[email protected]>wrote: >> >>> First, you don't really need a key for the Feeds API. If you do want to >>> use one, though, what we usually recommend is set up a webpage somewhere >>> with basic information about your app. The TOS require you to provide a >>> valid HTTP_REFERER header, so use the url for your webpage in that header >>> and to generate your API key. >>> >>> Jg >>> On Jan 4, 2012 6:47 AM, "raghvendra garg" <[email protected]> >>> wrote: >>> >>>> Hi all, >>>> >>>> I am trying to use the gfeed api in my android application but I can’t >>>> understand how to generate api key for my application. Can anyone help me >>>> please.. >>>> >>>> Thanks in advance. >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Google AJAX APIs" group. >>>> To post to this group, send email to >>>> [email protected] >>>> To unsubscribe from this group, send email to >>>> [email protected] >>>> To view this message on the web, visit >>>> http://groups.google.com/group/google-ajax-search-api?hl=en_US >>>> For more options, visit this group at >>>> http://groups.google.com/group/google-ajax-search-api?hl=en?hl=en >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Google AJAX APIs" group. >>> To post to this group, send email to >>> [email protected] >>> To unsubscribe from this group, send email to >>> [email protected] >>> To view this message on the web, visit >>> http://groups.google.com/group/google-ajax-search-api?hl=en_US >>> For more options, visit this group at >>> http://groups.google.com/group/google-ajax-search-api?hl=en?hl=en >>> >> >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Google AJAX APIs" group. >> To post to this group, send email to >> [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> To view this message on the web, visit >> http://groups.google.com/group/google-ajax-search-api?hl=en_US >> For more options, visit this group at >> http://groups.google.com/group/google-ajax-search-api?hl=en?hl=en >> >> >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Google AJAX APIs" group. >> To post to this group, send email to >> [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> To view this message on the web, visit >> http://groups.google.com/group/google-ajax-search-api?hl=en_US >> For more options, visit this group at >> http://groups.google.com/group/google-ajax-search-api?hl=en?hl=en >> > > > -- > You received this message because you are subscribed to the Google > Groups "Google AJAX APIs" group. > To post to this group, send email to > [email protected] > To unsubscribe from this group, send email to > [email protected] > To view this message on the web, visit > http://groups.google.com/group/google-ajax-search-api?hl=en_US > For more options, visit this group at > http://groups.google.com/group/google-ajax-search-api?hl=en?hl=en > > > -- > You received this message because you are subscribed to the Google > Groups "Google AJAX APIs" group. > To post to this group, send email to > [email protected] > To unsubscribe from this group, send email to > [email protected] > To view this message on the web, visit > http://groups.google.com/group/google-ajax-search-api?hl=en_US > For more options, visit this group at > http://groups.google.com/group/google-ajax-search-api?hl=en?hl=en > -- You received this message because you are subscribed to the Google Groups "Google AJAX APIs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] To view this message on the web, visit http://groups.google.com/group/google-ajax-search-api?hl=en_US For more options, visit this group at http://groups.google.com/group/google-ajax-search-api?hl=en?hl=en
