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.

Reply via email to