Welcome Developers!

in

Welcome!

in

Problem getting album info

Last post 07-01-2010 6:15 AM by usman. 3 replies.
Page 1 of 1 (4 items)
Sort Posts: Previous Next
  • 01-10-2010 5:14 AM

    • Tom
    • Top 500 Contributor
    • Joined on 01-06-2010
    • Posts 23

    Problem getting album info

    Hi,

    I'm just starting with the MySpace API and am getting stuck on something that should be simple.

    I'm trying to get the owners albums using this code from the Canvas.

    function getAlbums(){
        var req = opensocial.newDataRequest();
        var param = {};
        //Create a request for the owner's albums
        req.add(MyOpenSpace.DataRequest.newFetchAlbumsRequest(opensocial.IdSpec.PersonId.OWNER,param));
        //Send the request, passing in a callback.
        req.send(getAlbumsResponse);
      document.getElementById('message').innerHTML += '<br> Get data...';
    }

    function getAlbumsResponse(adata)
    {
      document.getElementById('message').innerHTML += '<br> Got data...';
      var ownerAlbumsResp = adata.get();
      if (!ownerAlbumsResp.hadError())
      {
        var ownerAlbums = ownerAlbumsResp.getData();
        document.getElementById('message').innerHTML += '<br> Data:' + ownerAlbums;
      }
      else
        document.getElementById('message').innerHTML += '<br> Error in data';
       
      document.getElementById('message').innerHTML += '<br> Before Read data...';
        ownerAlbums.each(
        function(album) {
            //var albumID = album.getId();
            var albumID = album.getField(MyOpenSpace.Album.Field.ID);
            var albumTitle = album.getTitle();
            document.getElementById('message').innerHTML += '<br> album id' + albumID + '<br> album title=' + albumTitle;
        }
        );
      document.getElementById('message').innerHTML += '<br> After Read data...';
    }

     

    From the text printed in the div, it seems to only get as far as the line:  var ownerAlbums = ownerAlbumsResp.getData();

    There are no javascript errors reported through FireBug and the data is viewable in FireBug.

    Any help would be appreciated.

    By the way, my next step is to get the photos from the albums so any help there would also be appreciated.

    I'm almost at the point of trying to do this through OAuth, but that's another learning curve.

    Thanks

    Tom

     

  • 01-19-2010 4:07 PM In reply to

    Re: Problem getting album info

     Hello,

     

    What is the six digit appID for this application? Which SDK are you using for this code?

     

    thanks,

    Joel

  • 07-01-2010 4:56 AM In reply to

    • usman
    • Not Ranked
    • Joined on 02-13-2008
    • Posts 3

    Re: Problem getting album info

     Just a small change in your code and it wil work. 

     function getAlbums(){
        var req = opensocial.newDataRequest();
        var param = {};
        //Create a request for the owner's albums
        req.add(MyOpenSpace.DataRequest.newFetchAlbumsRequest(opensocial.IdSpec.PersonId.OWNER,param),'viewer');
        //Send the request, passing in a callback.
        req.send(getAlbumsResponse);
      document.getElementById('message').innerHTML += '<br> Get data...';
    }

    function getAlbumsResponse(adata)
    {
      document.getElementById('message').innerHTML += '<br> Got data...';
      var ownerAlbumsResp = adata.get('viewer');
      if (!ownerAlbumsResp.hadError())
      {
        var ownerAlbums = ownerAlbumsResp.getData();
        document.getElementById('message').innerHTML += '<br> Data:' + ownerAlbums;
      }
      else
        document.getElementById('message').innerHTML += '<br> Error in data';
       
      document.getElementById('message').innerHTML += '<br> Before Read data...';
        ownerAlbums.each(
        function(album) {
            //var albumID = album.getId();
            var albumID = album.getField(MyOpenSpace.Album.Field.ID);
            var albumTitle = album.getTitle();
            document.getElementById('message').innerHTML += '<br> album id' + albumID + '<br> album title=' + albumTitle;
        }
        );
      document.getElementById('message').innerHTML += '<br> After Read data...';
    }

     

    Hope it helps :) 

  • 07-01-2010 6:15 AM In reply to

    • usman
    • Not Ranked
    • Joined on 02-13-2008
    • Posts 3

    Re: Problem getting album info

     A complete code for featching albums is given beneth,

        function getAlbums() {
                var req = opensocial.newDataRequest();
                var param = {};
                req.add(MyOpenSpace.DataRequest.newFetchAlbumsRequest(opensocial.IdSpec.PersonId.OWNER, param), 'viewer');
                req.send(getAlbumsResponse);
     
            }

            function getAlbumsResponse(adata) {
             
                var ownerAlbumsResp = adata.get('viewer');
                if (!ownerAlbumsResp.hadError()) {
                    var ownerAlbums = ownerAlbumsResp.getData();
                    drawAlbums(ownerAlbums.asArray());
                }
                else
                    document.getElementById('message').innerHTML += '<br> Error in data';

            }

            function drawAlbums(albums) {
           
                var album_format = '<div class="album_thumb" onclick="displayImage(\'{0}\');"><img src="{1}" /><br/>{2}</div>';
                var div_clear = '<div class="clear"></div>';
                var albums_div = document.getElementById("message");
                for (var i = 0; i < albums.length; i++) {
                    if (albumsIdea.getField(MyOpenSpace.Album.Field.PHOTO_COUNT) > 0) {
                        albums_div.innerHTML += album_format.replace("{0}", albumsIdea.getField(MyOpenSpace.Album.Field.DEFAULT_IMAGE)).replace("{1}", albumsIdea.getField(MyOpenSpace.Album.Field.DEFAULT_IMAGE)).replace("{2}", albumsIdea.getField(MyOpenSpace.Album.Field.TITLE));
                    }
                }
                if (albums.length > 0) {
                    albums_div.innerHTML += div_clear;
                }
            }

     

Page 1 of 1 (4 items)