Actually, it may have still been using my python implementation for
the uploading...must investigate

On Oct 12, 12:46 pm, wsstefan <[EMAIL PROTECTED]> wrote:
> Jun,
>
> You're right, I was missing something.  I see you can use insertEntry
> to POST data.  All 'entry' has to be is a well formed http request.>From the 
> documentation this isn't entirely clear as at first I thought
>
> this was some sort of javascript specific object.  I successfully
> posted an image by:
>
>         picasaService.setHeaders("Content-type", 'multipart/related;
> boundary="END_OF_PART"');
>         picasaService.insertEntry(POST_FEED_URL, data, handleUpload,
> handleError);
>
> Where data was simply the body of the post, including the jpeg data.
>
> I'm glad to see that it works, but documentation could be clearer as
> to what 'entry' is because from the API it seems as if you can only
> create an 'entry' by using the constructor.
>
> Thanks.
>
> On Oct 6, 2:04 pm, "Stefan Roesch" <[EMAIL PROTECTED]> wrote:
>
> > Well in order to add a photo to picasa manually, you have to send a POST
> > request as outlined here:
>
> >http://code.google.com/apis/picasaweb/gdata.html#Add_Photo
>
> > The way you'd do this with the Python client librrary for example is call a
> > method named POST which creates the headers and multipart message and then
> > pumps in a binary stream for the image data where the beef of the code is:
>
> >       insert_connection = atom.service.AtomService._CreateConnection(self,
> >           uri, 'POST', extra_headers, url_params, escape_params)
>
> >       insert_connection.send(multipart[0])
> >       insert_connection.send(data_str)
> >       insert_connection.send(multipart[1])
>
> >       while 1:
> >         binarydata = media_source.file_handle.read(100000)
> >         if (binarydata == ""): break
> >         insert_connection.send(binarydata)
>
> >       insert_connection.send(multipart[2])
>
> > As far as I can tell, there isn't a low level enough way of accomplishing
> > this with the current Javascript library.
>
> > I've tried to get around this using my own XMLHttpRequest, but I haven't
> > quite worked out my bug yet, because the 2 main problems you have to deal
> > with are:
>
> > 1) cross-domain calling XMLHttpRequest
> > 2) manually dealing with authentication
>
> > I am getting around the cross-domain issue with an Apache RewriteRule which
> > is working for an unauthenticated GET request.  As far as I can tell I've
> > constructed my request correctly according to the link outlined above and
> > set the following headers in Javascript:
>
> >         xmlhttp.setRequestHeader("Authorization", 'AuthSub
> > token="'+picasaToken+'"');
> >         xmlhttp.setRequestHeader("Content-type", 'multipart/related;
> > boundary="END_OF_PART"');
> >         xmlhttp.setRequestHeader("Content-length", data.length);
> >         xmlhttp.setRequestHeader("MIME-version", "1.0");
> >         xmlhttp.setRequestHeader("Connection", "close");
> >         xmlhttp.open("POST","post",true);
> >         xmlhttp.send(data);
>
> > Where "post" is the Apache rewrite:
>
> > RewriteRule 
> > ^post$http://picasaweb.google.com/data/feed/api/user/default/album/MyTestAlbum[P]
>
> > Of course this entire process could be circumvented if the Javascript
> > library had a post method so there could be a little lower level control.
>
> > The end result is I have a binary stream I'm encoding on the fly and I need
> > to post that binary image data somehow, which insertEntry cannot accomodate.
> >   I accomplished this with the Python Client Library since I had access to
> > the source.  I think i actually may be forgetting to append the gsessionid
> > to my url, but it's just not very user friendly at the moment and also
> > requires having admin rights on Apache to add the proxy module and make the
> > rewrite.
>
> > It would just be nice to have a simpler way of uploading an image to picasa
> > given a binary stream.
>
> > -Stefan
>
> > On 10/5/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
> > > On Oct 5, 10:28 am, wsstefan <[EMAIL PROTECTED]> wrote:
> > > > With the new Javascript Calendar library it's possible to interact
> > > > with Picasa Web Albums because for the most part all it needs is the
> > > > base service.
>
> > > Correct.
>
> > > > The one problem I'm running into is that the base service has no POST
> > > > method exposed like most of the other client libraries, making it
> > > > impossible to add in image with this library thus far?
>
> > > There is getEntry, insertEntry, updateEntry and deleteEntry on
> > > Service.  Which one is missing?
>
> > > > Or am I missing something?
>
> > > > If not, when can POST ???
>
> > > Jun
>
> > --
> > Draw online with other people at:
>
> >http://www.DrawAndShare.com


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Calendar Data API" group.
To post to this group, send email to 
[email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-calendar-help-dataapi?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to