This code looks pretty good, but you're not setting any AppData in
this gadget, so there won't be any available in doSomethingWithMyData
(causes a JavaScript error for me).  If you modify the gadget to set
data first, then it should work.

~Arne

On Jun 13, 2:09 pm, Vinicius <[EMAIL PROTECTED]> wrote:
> as read data?
>
> I am trying with this code but can not:
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <Module>
>   <ModulePrefs title="Data Persistence Read Example" >
>     <Require feature="opensocial-0.7"/>
>   </ModulePrefs>
>   <Content type="html">
>   <![CDATA[
>
>   <script type="text/javascript">
>    gadgets.util.registerOnLoadHandler(requestMyData);
>    var htmlout = "";
>    var me = null;
>
>    /
> ************************************************************************
>     * Fetch app data
>     */
>    function requestMyData() {
>      var req = opensocial.newDataRequest();
>      var fields = [ "AppField1", "AppField2", "AppField3" ];
>
> req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER),
> "viewer");
>      req.add(req.newFetchPersonAppDataRequest("VIEWER", fields),
> "viewer_data");
>      req.send(handleRequestMyData);
>    }
>
>    /
> ************************************************************************
>     * Handle responses from app data requests
>     */
>    function handleRequestMyData(data) {
>      var mydata = data.get("viewer_data");
>      var viewer = data.get("viewer");
>      me = viewer.getData();
>
>      if (mydata.hadError()) {
>        htmlout += data.getError();
>        return;
>      }
>      // Do something with the returned data - note the getData call
>      doSomethingWithMyData(mydata.getData());
>    }
>
>    /
> ************************************************************************
>    * Operate on user data
>    */
>    function doSomethingWithMyData(data) {
>      //Data is indexed by user id, and represents an object where
> keys
>      //correspond with the app data fields.
>      var mydata = data[me.getId()];
>      var div = document.getElementById('content_div');
>      htmlout += "My AppField1 data is: " + mydata["AppField1"] + "<br />";
>
>      htmlout += "My AppField2 data is: " + mydata["AppField2"] + "<br />";
>
>      htmlout += "My AppField3 data is: " + mydata["AppField3"] + "<br />";
>
>      div.innerHTML = htmlout;
>    }
>
>  </script>
>  <div id="content_div"></div>
>   ]]>
>   </Content>
> </Module>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"OpenSocial Application Development" 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/opensocial-api?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to