I'm trying to change the ACL for a particular spreadsheet using the
Python client API and every so often I get a
gdata.service.RequestError.

Here's my relevant code:

def do_acl_stuff(client, entry, email):
  """
  client is an authenticated gdata.docs.service.DocsService object
  entry is an item in the feed fetched with
client.QueryDocumentListFeed
  email is an email address
  """
  scope = gdata.docs.Scope(value=email, type='user')
  role = gdata.docs.Role(value='writer')
  acl_entry = gdata.docs.DocumentListAclEntry(scope=scope, role=role)
  acl_href = entry.GetAclLink().href.replace('trix.','')
  client.Post(acl_entry, acl_href,
    converter=gdata.docs.DocumentListAclEntryFromString)

Every so often, I get this error:

{'status': 400, 'body': 'Invalid document id:
trix.pkZoqPvqxPW_QrB0JEZiTNg', 'reason': 'Bad Request'}

The traceback goes to gdata.service.PostOrPut

As you can see in the code above, I get rid of the '.trix' part of ACL
uri. I did some logging and the uri being passed to PostorPut is
http://docs.google.com/feeds/acl/private/full/spreadsheet%3ApkZoqPvqxPW_QrB0JEZiTN.
So I'm little baffled why the error keeps mentioning 'trix.'.

Any ideas on how to proceed?
--~--~---------~--~----~------------~-------~--~----~
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 [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-Docs-Data-APIs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to