Hello everyone,

I want to access one (and only one) spreadsheet of a user from within
a task of a google app engine application.

This code works in a normal request but not in a task:
    client  = gdata.spreadsheet.service.SpreadsheetsService()
    gdata.alt.appengine.run_on_appengine(client)
    client.email = 'anad...@gmail.com'
    client.password = '...'
    client.source  = '...'
    client.ProgrammaticLogin()
    feed = client.GetWorksheetsFeed(spreadKey) #

With the Google Web interface the user can give access to
'anad...@gmail.com' for this unique spreadsheet and everything than
goes fine for a normal request.

I understand that ProgrammaticLogin is normally for 'installed
applications' because with Web apps it's better to ask the
authorization on-line... But what strategy should we use in a task?

I need to make some treatments on the spreadsheet and these can nicely
be parted in tasks. Like that, I have all the benefits of tasks...

I could copy all the feeds that I need during a normal request
somewhere in the datastore and later read at this place from the
tasks... But this put a lot of workload on the normal request that
could otherwise be spread on the different tasks.

ProgrammaticLogin has some advantage over AuthSub because I found
problems when trying to limit the authorization scope to everything in
only one spreadshead. And thus with authSub, it even not work in a
normal request.

Could someone give me ideas to solve this situation?

Thanks in advance,

Michel

PS: Below the error message and trace
Exception in request: RequestError: {'status': 404L, 'body': '<HTML>
\n<HEAD>\n<TITLE>Not Found</TITLE>\n</HEAD>\n<BODY BGCOLOR="#FFFFFF"
TEXT="#000000">\n<H1>Not Found</H1>\n<H2>Error 404</H2>\n</BODY>\n</
HTML>\n', 'reason': ''}
Traceback (most recent call last):
  File "/base/python_lib/versions/third_party/django-1.0/django/core/
handlers/base.py", line 86, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/base/data/home/apps/.../..._views.py", line 412, in ...
    feed        = client.GetWorksheetsFeed(spreadKey) #
  File "/base/data/home/.../gdata/spreadsheet/service.py", line 126,
in GetWorksheetsFeed
    converter=gdata.spreadsheet.SpreadsheetsWorksheetsFeedFromString)
  File "/base/data/home/.../gdata/service.py", line 1050, in Get
    'reason': server_response.reason, 'body': result_body}
RequestError: {'status': 404L, 'body': '<HTML>\n<HEAD>\n<TITLE>Not
Found</TITLE>\n</HEAD>\n<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
\n<H1>Not Found</H1>\n<H2>Error 404</H2>\n</BODY>\n</HTML>\n',
'reason': ''}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to