Ouch, yes, those samples are badly borked. It looks like they weren't updated when we revised the design.
On Tue, Aug 4, 2009 at 9:55 AM, Arne Roomann-Kurrik<[email protected]> wrote: > 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 >> >> > >> >> >> > >> >

