MySpace Open Platform

A Place For Developers

Welcome Developers!

in

Welcome!

in

Permission denied to all viewer resources

Last post 11-22-2009 1:22 AM by praveenm. 5 replies.
Page 1 of 1 (6 items)
Sort Posts: Previous Next
  • 01-11-2009 8:57 AM

    Permission denied to all viewer resources

    Hi there,

    I'm developing an application and experience such a problem:
    "Permission denied to all viewer resources" error when trying to get viewer data. The error occurs when the app is run by another developer (from app developers list). When I run the app myself or test it with MySpace tools it works fine.

    Can anyone help with it? Below there's the source code and trace.

    <div id='loading'><img src='http://www.viphaklay.com/jquery/spinner.gif'/></div><div id='message' style='margin: 4px'></div>
    <div id='heading'></div>
    <hr size="1px" />

    <table border="1" cellspacing="0" bordercolor="black">
    <tr>
    <td>
    <div id='main'></div>
    </td>
    </tr>
    </table>


    <script type="text/javascript">
    var os;
    var dataReqObj;
    var html = '';
    var heading = '';

    function init() {
        MYOS_TRACE = true;

        trace('Trace Info:');
        trace('Init');
        os = opensocial.Container.get();
        dataReqObj = os.newDataRequest();

        var param = {};
        param[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS]=[opensocial.Person.Field.ADDRESSES,  opensocial.Person.Field.CURRENT_LOCATION, opensocial.Person.Field.ID, opensocial.Person.Field.NAME, opensocial.Person.Field.NICKNAME,  opensocial.Person.Field.PROFILE_URL, opensocial.Person.Field.THUMBNAIL_URL, MyOpenSpace.Person.Field.REGION, MyOpenSpace.Person.Field.CITY, MyOpenSpace.Person.Field.COUNTRY, MyOpenSpace.Person.Field.HOMETOWN, MyOpenSpace.Person.Field.POSTALCODE];
        var viewerReq = os.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER, param);
        dataReqObj.add(viewerReq);
        var ownerReq = os.newFetchPersonRequest(opensocial.DataRequest.PersonId.OWNER);
        dataReqObj.add(ownerReq);

        trace('Sending request to MySpace');
        dataReqObj.send(dataResponse);
        trace('The request has been sent successfully');
    }
    function dataResponse(data) {
        trace('We got to request callback function');

        try {
            if (data.hadError()) {
                var errorData = data.get(opensocial.DataRequest.PersonId.VIEWER);
                trace('there was an error requesting data from MySpace:');
                trace(errorData.getErrorCode() + '\n' + errorData.getErrorMessage());
                return;
            }

            trace('Reading Viewer info');
            var viewer = data.get(opensocial.DataRequest.PersonId.VIEWER).getData();
            var viewerId = viewer.getField(opensocial.Person.Field.ID);
            var viewerCountry = viewer.getField(MyOpenSpace.Person.Field.COUNTRY);
            var viewerRegion = viewer.getField(MyOpenSpace.Person.Field.REGION);
            var viewerCity = viewer.getField(MyOpenSpace.Person.Field.CITY);
            var viewerHometown = viewer.getField(MyOpenSpace.Person.Field.HOMETOWN);
            var viewerPostalCode = viewer.getField(MyOpenSpace.Person.Field.POSTALCODE);

            trace('Displaying Viewer header');
            heading = 'Hello, ' + viewer.getDisplayName() + ' (ID: ' + viewerId + '. ' + viewerCountry + ', '+ viewerRegion + ', ' + viewerCity + ', ' + viewerPostalCode + ', Hometown: ' + viewerHometown + ')';
            document.getElementById('heading').innerHTML = heading;
            trace('Viewer info displayed');

            var viewerThumb = viewer.getField(opensocial.Person.Field.THUMBNAIL_URL);
            var viewerProfile = viewer.getField(opensocial.Person.Field.PROFILE_URL);
            html = '<a href="' + viewerProfile + '"><img src="' + viewerThumb + '" border="0"></a>';

            trace('Reading Owner info');
            var owner = data.get(opensocial.DataRequest.PersonId.OWNER).getData();
            var ownerId = owner.getField(opensocial.Person.Field.ID);
            var ownerThumb = owner.getField(opensocial.Person.Field.THUMBNAIL_URL);
            var ownerProfile = owner.getField(opensocial.Person.Field.PROFILE_URL);
            var ownerDisplayName = owner.getDisplayName();
            trace('Displaying Viewer and Owner profile images');
            html = html + '<br>You are at: ' + ownerId + ' - ' + ownerDisplayName + '<br><a href="' + ownerProfile + '"><img src="' + ownerThumb + '" border="0"></a>';
        }
        catch (er)
        {
           trace(er.description);
        }

        document.getElementById('main').innerHTML = html;
        trace('Done');

        document.getElementById('loading').style.display = 'none';
    }

    function trace(msg) {
       document.getElementById('message').innerHTML += msg + '<br>';
    }

    init();
    </script>

    Trace with error (run by an app developer):

    Trace Info:
    Init
    Sending request to MySpace
    The request has been sent successfully
    We got to request callback function
    there was an error requesting data from MySpace:
    unauthorized Permission denied to all viewer resources.

    Trace without error (run by me):

    Trace Info:
    Init
    Sending request to MySpace
    The request has been sent successfully
    We got to request callback function
    Reading Viewer info
    Displaying Viewer header
    Viewer info displayed
    Reading Owner info
    Displaying Viewer and Owner profile images
    Done
  • 01-12-2009 2:32 AM In reply to

    Re: Permission denied to all viewer resources

    I found out that this happens if the developer does not have the app installed. After they install it everything is OK. But I'm not sure that this behaviour is correct. Does a user have to install an app? They might be just visiting a friend's profile where this app is installed.

    So I think the issue is not closed.

  • 01-12-2009 11:41 AM In reply to

    Re: Permission denied to all viewer resources

     Thanks for the feedback, I'll check into it.

  • 01-12-2009 2:09 PM In reply to

    Re: Permission denied to all viewer resources

    Hey, are you talking about regular users or developers?

     

    In dev mode you must be the developer or have the app installed to view it.

     

     

     

  • 03-23-2009 3:17 AM In reply to

    Re: Permission denied to all viewer resources

    Yes, thanx. That was the case.

  • 11-22-2009 1:22 AM In reply to

    Re: Permission denied to all viewer resources

    My App status is Live. Still the login page showing error "Oops! We're sorry, but we are unable to process your request." when i login with other user account who is not developer.
Page 1 of 1 (6 items)