title: Batching of ACL requests for Google Documents via the API is fairly slow
body: <p>I'm using version 3 (yes I know there is google drive API) and I'm trying to batch ACL requests as per <a href="https://developers.google.com/google-apps/documents-list/#batching_acl_requests" rel="nofollow">here</a>.</p>
  
  <p>I've run a test in the google playground (as well as in my own code) to add 150 users as "writer" (role) to a document.</p>
  
  <p>The xml looks something like:</p>
  
  <pre><code>&lt;feed xmlns="http://www.w3.org/2005/Atom"
      xmlns:gAcl="http://schemas.google.com/acl/2007"
      xmlns:batch="http://schemas.google.com/gdata/batch"&gt;
    &lt;category scheme="http://schemas.google.com/g/2005#kind"
        term="http://schemas.google.com/acl/2007#accessRule"/&gt;
    &lt;entry&gt;
  &lt;id&gt;https://docs.google.com/feeds/default/private/full/document:1111/acl/user:owner@example.com&lt;/id&gt;
      &lt;batch:operation type="query"/&gt;
    &lt;/entry&gt;
  &lt;entry&gt;&lt;batch:id&gt;1&lt;/batch:id&gt;&lt;batch:operation type="insert"/&gt;&lt;gAcl:role value="writer"/&gt;&lt;gAcl:scope type="user" value="test1@example.com"/&gt;&lt;/entry&gt;
  &lt;entry&gt;&lt;batch:id&gt;2&lt;/batch:id&gt;&lt;batch:operation type="insert"/&gt;&lt;gAcl:role value="writer"/&gt;&lt;gAcl:scope type="user" value="test2@example.com"/&gt;&lt;/entry&gt;
  ....
  &lt;entry&gt;&lt;batch:id&gt;150&lt;/batch:id&gt;&lt;batch:operation type="insert"/&gt;&lt;gAcl:role value="writer"/&gt;&lt;gAcl:scope type="user" value="test150@example.com"/&gt;&lt;/entry&gt;
  &lt;/feed&gt;
  </code></pre>
  
  <p>Processing this takes > 60 seconds and then the response comes back with a 500 error.  It does seem to add all 150 but it takes a while.  If I was to directly add 150 email addresses in the text area right in the google sharing dialog it takes a shorter period (8-10).   </p>
  
  <p>Am I not using the API correctly?  Does the API not mimic the google sharing UI interface?</p>
  
  <p>UPDATE:  In looking at this further it looks like the batch api is really just saving you time "across the wire" but on the server side (google) it's just sending in the requests one at a time.  I can see that if I directly add the 150 email addresses in the text area right in the google sharing dialog it takes 8-10 seconds, then if I add 151 it take 8-10 seconds.  This tells me that google is validating the new entry against the existing list.  With direct online interaction it's taking all 150 at once; with batch it's taking one at a time and validating after each one- which comes out to 5+ minutes total time.</p>