Yes!

gdata.alt.appengine.run_on_appengine(client, store_tokens=False,
single_user_mode=True)

(Tanks for the stars :-)

On Oct 21, 7:42 pm, Michelschr <[email protected]> wrote:
> 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 = '[email protected]'
>     client.password = '...'
>     client.source  = '...'
>     client.ProgrammaticLogin()
>     feed = client.GetWorksheetsFeed(spreadKey) #
>
> With the Google Web interface the user can give access to
> '[email protected]' 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 [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-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to