Not sure the best way you'd like me to do this? See below for some sample
code - it's a bit crude but examplifies the issue. It fires 100 tasks, each
of which retrieves the signature of a given user. If you run you will see
that 403s are thrown, but eventually all tasks will complete.
class Test403(webapp.RequestHandler):
def get(self):
for _ in range(100):
taskqueue.add(url='/test403')
def post(self):
client = EmailSettingsClient(TEST_DOMAIN)
token = gdata.gauth.token_from_blob(OAUTH2_TOKEN)
client.auth_token = token
token.authorize(client)
client.retrieve_signature(TEST_EMAIL)
here's the stack trace:
Server responded with: 403,
Traceback (most recent call last):
File
"/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py",
line 703, in __call__
handler.post(*groups)
File
"/base/data/home/apps/s~appogee-hub/2.357746192348739783/sigs/tasks/sync.py",
line 337, in post
client.retrieve_signature(TEST_EMAIL)
File
"/base/data/home/apps/s~appogee-hub/2.357746192348739783/gdata/apps/emailsettings/client.py",
line 487, in retrieve_signature
return self.GetEntry(uri, auth_token=None, query=None, **kwargs)
File
"/base/data/home/apps/s~appogee-hub/2.357746192348739783/gdata/client.py", line
652, in get_entry
desired_class=desired_class, **kwargs)
File
"/base/data/home/apps/s~appogee-hub/2.357746192348739783/gdata/client.py", line
319, in request
RequestError)
RequestError: Server responded with: 403,
If you have access to App Engine logs, you can see
here<https://appengine.google.com/logs?app_id=s~appogee-hub&version_id=2.357746192348739783&severity_level_override=0&severity_level=3&tz=Europe%2FLondon&filter=%2Fsigs%2Ftasks%2Fsync%2Fstand-alone&filter_type=regex&date_type=now&date=2012-03-25&time=21%3A48%3A00&limit=20&view=Search>
.
Thanks,
Gwyn
On Sunday, 25 March 2012 19:21:35 UTC+1, Claudio Cherubino wrote:
>
> Hi Gwyn,
>
> Can you help us track down one of those requests that failed so that we
> can check if we are returning the wrong response code?
> Thanks
>
> Claudio
>
> On Sat, Mar 24, 2012 at 3:02 AM, Gwyn Howell <[email protected]>wrote:
>
>> Am finding that the Email Settings API is throwing random 403 errors.
>>
>> I am using the gdata python API on App Engine. My app spawns a new task
>> for each user in a Google Apps domain, then each task calls the
>> retrieve_signature method. Sometimes this call throws a 403 error. The
>> task will then auto retry. Eventually all tasks will complete. We have
>> noticed that this only tends to happen with larger domains (> 100 users).
>>
>> An obvious explanation for this, would be we are firing too many requests
>> in too little time and therefore exceeding some kind of hidden quota, but
>> it doesn't make sense that the error should be a 403.
>>
>> Please advise
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google Apps Domain Information and Management APIs" group.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msg/google-apps-mgmt-apis/-/NiKcrJK6wYoJ<https://groups.google.com/d/msg/google-apps-mgmt-apis/-/NiKcrJK6wYoJ>
>> .
>> To post to this group, send email to
>> google-apps-mgmt-apis@googlegroups.com<[email protected]>
>> .
>> To unsubscribe from this group, send email to
>> google-apps-mgmt-apis+[email protected]<google-apps-mgmt-apis%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/google-apps-mgmt-apis?hl=en<http://groups.google.com/group/google-apps-mgmt-apis?hl=en>
>> .
>>
>
>
--
You received this message because you are subscribed to the Google Groups
"Google Apps Domain Information and Management APIs" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-apps-mgmt-apis/-/pPpjgvee8ysJ.
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-apps-mgmt-apis?hl=en.