7 messages in com.googlegroups.opensocial-apiRe: [OpenSocial] Re: Accessing Ning o...
FromSent OnAttachments
Dash23 Dec 2007 06:36 
Reinoud Elhorst23 Dec 2007 08:26 
Aakash Bapna23 Dec 2007 13:16 
Dash23 Dec 2007 21:48 
Reinoud Elhorst24 Dec 2007 01:57 
Dashrath Bitla24 Dec 2007 02:18 
Reinoud Elhorst24 Dec 2007 03:23 
Subject:Re: [OpenSocial] Re: Accessing Ning or Hi5 or any other OpenSocial container data from another container like Orkut
From:Dashrath Bitla (dbi@gmail.com)
Date:12/24/2007 02:18:49 AM
List:com.googlegroups.opensocial-api

Are there any examples on how to do this? Any sample code or something?

Dash

On Dec 24, 2007 3:28 PM, Reinoud Elhorst <goo@claude.nl> wrote:

The data API is 'still in early stages', I guess that a safe bet would be something like 'spring 2008'. That having said, most containers already have a data API that you can probably access through a gadget server (but then you have to build your own interface for each container).

There is no way to do cross-container-authorization, so you will need to have the user log in manually to each of the containers you want to use.

On 12/24/07, Dash <dbi@gmail.com> wrote:

Thank you for the detailed How-To. I think going in this complex route is not a safe bet, its worth waiting for the DATA APIs then. Any idea when they will be available?

Do you know if OpenSocial JavaScript API will have support for authenticating with other containers? Or is it going to be just based on DATA API only?

On Dec 23, 9:26 pm, "Reinoud Elhorst" <goo@claude.nl> wrote:

Accessing the other containers could be done theoretically, but is outside the specification of OpenSocial, so an amount of 'hacking' is required. The problem with working outside the specification is that you are dependent on implementation details of specific containers, which may change without notice, so I would say: don't try this, at least until the data api is there (and then use that).

If you want to disregard my warning and try anyway :), I think it should be enough to write a new <script> tag in your dom with as source the opensocial library of another container, and hope that the library does not do any initialization.

Being logged in on the other containers is even more difficult, since nobody knows which myspace account to link to the hi5 user that is currently logged in.

Lets assume that the user is automatically logged in on all platforms, than you could also take another approach: * Have your application open a iframe to the domain you have your code on * Have your application open (hidden) iframes to the myspace and ning profilepage of the user (provided that you are on hi5 currently). You may need to know in advance the url of the profilepage of the loggedinuser, depending on the architecture. The user will log in automatically there, and if your application is installed, you can then open iframes to your own domain there as well. * Through interframe communication, you can have all frames work together and in effect you can do calls to all containers.

I have to say though that the solution above is not particularly nice to your users, and I wouldn't be surprised if doing the above would get you blacklisted at least on some containers, so I wouldn't advise it.

As stated before, what you're trying to do is outside the OpenSocial specification.

On 12/23/07, Dash <dbi@gmail.com> wrote:

By default Javascript opensocial object refer to the container in which the app is deployed. Would like to know how to access any other opensocial container using opensocial javascript APIs to retrieve say people data. For ex: An opensocial application is deployed on say Orkut. Here the opensocial JavaScript object by default has access to Orkut container without doing any extra authentication with Orkut as it has in the context. Now the same App deployed in Orkut, needs to access Ning or Hi5 using the opensocial JavaScript APIs to get all the people. How to change the Context of opensocial object to point to different containers and how to do the authentication with other containers to

get access to the other container info?

Please help answer this ... I could not find on the API doc nor any example on how this stuff is done ... Dash > >