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

Reply via email to