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
-~----------~----~----~----~------~----~------~--~---