I think that you missed sanbox sign up step.
Did you visit http://google.com/ig/sandbox ?
There are two verison of igoogle api. The one is Legacy API and the
other is gadgets.io*(OpenSocialAPI).
If you want to use gadgets.io* API and you don't live in USA, you
should sign up iGoogle sandbox.
If you visit again the upper URL, the sandbox will be turn on/off
easily.

Cheers,
William

On Dec 17, 5:28 pm, Sean <[email protected]> wrote:
> Hi there, I'm a newbie of iGoogle and Gadget.
>
> When I was trying my first gadget, an error of "gadgets.io" occured.
> The code was coped directly from the "Working with Remote Content"
> chapter of gadgets.* Developer's Guide, and I added it to my iGoogle
> page through the GGE in the "Developer Tools" chapter. The whole code
> is listed below:
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <Module>
>   <ModulePrefs title="Fetch XML" scrolling="true"/>
>   <UserPref
>     name="mycalories"
>     display_name="Calorie limit"
>     default_value="800"/>
>   <UserPref
>     name="mychoice"
>     display_name="Show Descriptions"
>     datatype="bool"
>     default_value="false"/>
>   <Content type="html">
>   <![CDATA[
>     <div id="content_div"></div>
>     <script type="text/javascript">
>       // get prefs
>       var prefs = new gadgets.Prefs();
>       // Calorie limit set by user
>       var calorieLimit = prefs.getString("mycalories");
>       // Indicates whether to show descriptions in the breakfast
> menu
>       var description = prefs.getBool("mychoice");
>
>       function makeDOMRequest() {
>         var params = {};
>         params[gadgets.io.RequestParameters.CONTENT_TYPE] =
> gadgets.io.ContentType.DOM;
>         var url = "http://gadget-doc-examples.googlecode.com/svn/trunk/
> opensocial-gadgets/breakfast-data.xml";
>         gadgets.io.makeRequest(url, response, params);
>       };
>       function response(obj) {
>         // Start building HTML string that will be displayed in
> <div>.
>         // Set the style for the <div>.
>         var html = "<div style='padding: 5px;background-color:
> #ccf;font-family:Arial, Helvetica;"
>           + "text-align:left;font-size:90%'>";
>         // Set style for title.
>         html +="<div style='text-align:center; font-size: 120%; color:
> yellow; "
>           + "font-weight: 700;'>";
>         // obj.data contains a Document DOM element corresponding to
> the
>         // page that was requested
>         var domdata = obj.data;
>
>         // Display menu title. Use getElementsByTagName() to retrieve
> the <menu> element.
>         // Since there is only one menu element in the file,
>         // you can get to it by accessing the item at index "0".
>         // You can then use getAttribute to get the text associated
> with the
>         // menu "title" attribute.
>         var title = domdata.getElementsByTagName("menu").item
> (0).getAttribute("title");
>
>         // Alternatively, you could retrieve the title by getting the
> menu element node
>         // and calling the "attributes" function on it. This returns
> an array
>         // of the element node's attributes. In this case, there is
> only one
>         // attribute (title), so you could display the value for the
> attribute at
>         // index 0. For example:
>         //
>         // var title = domdata.getElementsByTagName("menu").item
> (0).attributes.item(0).nodeValue;
>
>         html += title + "</div><br>";
>         // Get a list of the <food> element nodes in the file
>         var itemList = domdata.getElementsByTagName("food");
>
>         // Loop through all <food> nodes
>         for (var i = 0; i < itemList.length ; i++) {
>         // For each <food> node, get child nodes.
>         var nodeList = itemList.item(i).childNodes;
>
>         // Loop through child nodes. Extract data from the text nodes
> that are
>         // the children of the associated name, price, and calories
> element nodes.
>         for (var j = 0; j < nodeList.length ; j++) {
>           var node = nodeList.item(j);
>           if (node.nodeName == "name")
>           {
>             var name = node.firstChild.nodeValue;
>           }
>           if (node.nodeName == "price")
>           {
>             var price = node.firstChild.nodeValue;
>           }
>           if (node.nodeName == "calories")
>           {
>             var calories = node.firstChild.nodeValue;
>           }
>           // If the user chose to display descriptions and
>           // the child node is "#cdata-section", grab the
>           // contents of the description CDATA for display.
>           if (node.nodeName == "description" && description==true)
>           {
>             if (node.firstChild.nodeName == "#cdata-section")
>               var data = node.firstChild.nodeValue;
>           }
>         }
>         // Append extracted data to the HTML string.
>         html += "<i><b>";
>         html += name;
>         html += "</b></i><br>";
>         html += "&emsp;";
>         html += price;
>         html += " - ";
>         // If "calories" is greater than the user-specified calorie
> limit,
>         // display it in red.
>         if(calories > calorieLimit) {
>           html += "<font color=#ff0000>";
>           html += calories + " calories";
>           html += " </font>";
>         }
>         else
>           html += calories + " calories";
>         html += "<br>";
>         // If user has chosen to display descriptions
>         if (description==true)
>         {
>           html += "<i>" + data + "</i><br>";
>         }
>       }
>       // Close up div
>       html += "</div>";
>       document.getElementById('content_div').innerHTML = html;
>     };
>     gadgets.util.registerOnLoadHandler(makeDOMRequest);
>     </script>
>   ]]>
>   </Content>
> </Module>
>
> But when I opened iGoogle page in FireFox 3.0.4, the FireBug gave me
> the error message of "gadgets.Prefs is not a constructor errFunc()ifr?
> url=...lYDDgg.js (行 8)[Break on this error] var prefs = new
> gadgets.Prefs();".
>
> Then I tried removing all the gadgets,* invoked except the gadgets.io,
> but it still did not work with the error message "gadgets.io is
> undefined".
>
> Did I miss some key steps? Or do I have to refer to the gadgets.* lib
> explicitly in my code?
>
> Looking forward for your appreciated help.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"iGoogle Developer Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Gadgets-API?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to