Thanks, so the spec document is ambiguous in the way it presents the arguments list, and the samples are just plain incorrect. I'll make a note to propose a change on the spec list. ~Arne
On Mon, Aug 3, 2009 at 8:32 AM, Adam Winer <[email protected]> wrote: > On Sun, Aug 2, 2009 at 3:03 AM, Arne Roomann-Kurrik<[email protected]> > wrote: > > I've been working with this code in PHP shindig this weekend and noticed > an > > inconsistency - from > > > http://www.opensocial.org/Technical-Resources/opensocial-spec-v09/OpenSocial-Specification.html#osapi.http > > : > > > > The method signatures are listed in the form: > > > > osapi.http.get(params) > > > > which has a single parameter object as its argument. The parameters > list, > > however, claims both "url" and "params" as possible arguments, and the > > samples show code in this form: > > > > osapi.http.post('http://example.com', params).execute(function(result) { > > if (!result.error) { > > alert('Request to update user preferences was successful'); > > } > > }); > > This is wrong. The input must be a single JSON argument, as with all > other osapi methods. > > > osapi.http.get(url, params) is a bit more in line with makeRequest and > seems > > to be the intent of how this portion of how the spec was written. > > We don't want to be in line with makeRequest(), or anything else from > 0.8 - osapi is intended to be internally consistent. > > > However, > > the new JavaScript osapi autoconfigure code only forwards one argument, > so > > calling: > > > > var params = { > > 'format': 'json', > > 'authz': 'signed' > > }; > > osapi.http.get('http://www.opensocial.org', > params).execute(function(data) > > {}); > > > > sends the following request body to the server: > > > > [{"method":"http.get","id":"http.get","params":" > http://www.opensocial.org"}] > > > > What's the correct functionality here? How many arguments do osapi.http > > methods require? Does the osapi.http autoconfigure code need to be > changed? > > The correct call is: > osapi.http.get({ > url: 'http://www.opensocial.org', > authz: 'signed', > format: 'json' > }).execute(.....); > > > > > > ~Arne > > > > > > On Tue, Jul 28, 2009 at 10:02 AM, Adam Winer <[email protected]> wrote: > > > >> Endpoints are either dynamically retrieved, or statically configured, > >> but in either case you don't need any direct javascript/features code > >> for any of the endpoints. (An exception is the convenience methods in > >> osapi.people). > >> > >> The orkut and iGoogle issues look like a config issue on Google's end. > >> Partuza, haven't looked, can't say. > >> > >> On Tue, Jul 28, 2009 at 9:40 AM, Arne Roomann-Kurrik<[email protected]> > >> wrote: > >> > Is osapi.http one of the automatically configured parts of osapi? I'm > >> > trying to figure out what the accepted parameters are to clarify the > spec > >> a > >> > bit, but I don't see anything in > >> > > >> > http://svn.apache.org/repos/asf/incubator/shindig/trunk/features/src/main/javascript/features/(or > < > http://svn.apache.org/repos/asf/incubator/shindig/trunk/features/src/main/javascript/features/%28or > > > >> > by grepping through a checked out version of shindig). > >> > > >> > Additionally, I thought this method was live on a couple containers, > but > >> > trying to use it on orkut, iGoogle, or Partuza results in "osapi.http > is > >> > undefined" errors, even though it looks like osapi.people, > osapi.appdata, > >> > etc are available. > >> > > >> > If there's source, can someone point me in the right direction? Does > >> anyone > >> > have any ideas of why I might not be seeing osapi.http on container > >> > sandboxes? > >> > > >> > ~Arne > >> > > >> > > >

