Hi Eric, I just tried to copy the code from the Developer's guide, and I'm getting the same error message (The remote server returned an error: (400) Bad Request). One thing that might be worth mentioning, While testing, I'm using ClientLogin for authentication. So maybe it's broken on ClientLogin Auth? I'm not sure...
This is the same technique that I used for our other functions that we have to add a single collaborator, and it works... but if i change the XML and the HttpWebRequest URL it doesn't work :( what am I doing wrong!!!! Thank you in advance for all the help!!! here is the code I'm using to make the POST (it's in C#). //role is "writer" //type is "document" public static string BatchSetUserRole(string docID, string role, string type) { //auth is the clientLogin key from google string auth = Authenticate(); //Create a web request for the Google ClientLogin service HttpWebRequest authRequest = (HttpWebRequest)HttpWebRequest.Create (String.Format("http://docs.google.com/feeds/acl/private/full/{0}%3A {1}/batch HTTP/1.1", type, docID)); authRequest.KeepAlive = false; authRequest.ContentType = "application/atom+xml"; authRequest.Method = "POST"; authRequest.Headers.Add("Authorization: GoogleLogin auth=" + auth); //Build the POST data - this returns the XML from the Developer's guide string postBuilder = BatchXmlSetUser(role, docID); //Convert the POST data to a byte[] byte[] data = ASCIIEncoding.ASCII.GetBytes(postBuilder.ToString()); authRequest.ContentLength = data.Length; //Get the request stream and POST the data Stream requestStream = authRequest.GetRequestStream(); requestStream.Write(data, 0, data.Length); requestStream.Close(); //Get the response HttpWebResponse authResponse = (HttpWebResponse) authRequest.GetResponse(); Stream responseStream = authResponse.GetResponseStream(); StreamReader responseReader = new StreamReader(responseStream); string response = responseReader.ReadToEnd(); //close streams responseReader.Close(); responseStream.Close(); authResponse.Close(); return response; } //this is the function to build the XML code which was copied from the Developer's guide. private static string BatchXmlSetUser(string role, string docID) { string EntityTemplate = @"<feed xmlns='http://www.w3.org/2005/Atom' xmlns:gAcl='http://schemas.google.com/acl/2007' xmlns:batch='http:// schemas.google.com/gdata/batch'> <category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/acl/2007#accessRule'/> <entry> <id>http://docs.google.com/feeds/acl/private/full/document%3A" + docID + @"/user%3Adanielzev%40gmail.com</id> <batch:operation type='query'/> </entry> <entry> <batch:id>1</batch:id> <batch:operation type='insert'/> <gAcl:role value='writer'/> <gAcl:scope type='user' value='daniel...@hotmail.com'/> </entry> <entry> <id>http://docs.google.com/feeds/acl/private/full/document%3A" + docID + @"/user%3Adaniel%40pelotonics.com</id> <batch:operation type='update'/> <gAcl:role value='reader'/> <gAcl:scope type='user' value='dan...@pelotonics.com'/> </entry> <entry> <id>http://docs.google.com/feeds/acl/private/full/document%3A" + docID + @"/user%3Adanielzev%40yahoo.com</id> <batch:operation type='delete'/> </entry> </feed>"; return EntityTemplate; } On Mar 31, 1:21 pm, "Eric (Google)" <api.e...@google.com> wrote: > Hi Daniel, > > Your XML looks good to me. I was able to cut/paste > the XML in the Developer's guide and POST > it > successfully.http://code.google.com/apis/documents/docs/2.0/developers_guide_proto... > > Have you tried other types of documents? > > Eric > > On Mar 30, 1:47 pm, Daniel Marashlian <daniel...@gmail.com> wrote: > > > hi Eric, > > > do you have any idea what I'm doing wrong here? > > > thanks, > > Daniel > > > On Mar 26, 10:16 pm, Daniel Marashlian <daniel...@gmail.com> wrote: > > > > here is the XML string I'm passing in: > > > > "<feed xmlns='http://www.w3.org/2005/Atom'xmlns:gAcl='http:// > > > schemas.google.com/acl/2007' xmlns:batch='http://schemas.google.com/ > > > gdata/batch'> > > > <category scheme='http://schemas.google.com/g/ > > > 2005#kind' term='http://schemas.google.com/acl/2007#accessRule'/ > > > > <entry> > > > <batch:id>1</batch:id> > > > <batch:operation type='insert'/ > > > > <gAcl:role value='writer'/> > > > <gAcl:scope type='user' > > > value='dan...@pelotonics.com'/> > > > </entry> > > > <entry> > > > <batch:id>2</batch:id> > > > <batch:operation type='insert'/ > > > > <gAcl:role value='writer'/> > > > <gAcl:scope type='user' > > > value='daniel...@yahoo.com'/> > > > </entry> > > > </feed>" > > > > this is what I'm POSTING to (where df2qg349_2042dw8s8cg is the ID of > > > my test > > > document):http://docs.google.com/feeds/acl/private/full/document%3Adf2qg349_204... > > > HTTP/1.1 > > > > though the code is giving me a, "The remote server returned an error: > > > (400) Bad Request." error. > > > > Any ideas? > > > > thanks! > > > Daniel > > > > On Mar 25, 3:10 pm, Daniel Marashlian <daniel...@gmail.com> wrote: > > > > > thanks Eric!!!! > > > > > I'm gonna start the testing right now :) > > > > > On Mar 25, 2:46 pm, "Eric (Google)" <api.e...@google.com> wrote: > > > > > > Batching ACL > > > > > requests:http://code.google.com/apis/documents/docs/2.0/developers_guide_proto... > > > > > > On Mar 25, 9:59 am, Daniel Marashlian <daniel...@gmail.com> wrote: > > > > > > > Hi Eric and GDocs users, > > > > > > > I'm going to start a new discussion here since my last post wasn't > > > > > > really relevant to it's topic. > > > > > > > Would someone mind constructing an example for Batch Processing to > > > > > > modify the ACL of a document? > > > > > > > I can't figure it out following this > > > > > > doucment:http://code.google.com/apis/gdata/batch.html > > > > > > > thanks! > > > > > > Daniel --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Docs Data APIs" group. To post to this group, send email to Google-Docs-Data-APIs@googlegroups.com To unsubscribe from this group, send email to google-docs-data-apis+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Docs-Data-APIs?hl=en -~----------~----~----~----~------~----~------~--~---