Good day everyone!

I'm trying to integrate the gdata service into my app
I've followed this tutorial 
https://developers.google.com/appengine/articles/gdata
the step1~3 is created by copy & paste, and a step4, which is a snippet 
that I found somewhere else

> class step4(webapp.RequestHandler):
> def get(self):
> # Create a client class which will make HTTP requests with Google Docs 
> server.
> client = gdata.docs.service.DocsService()
> # Authenticate using your Google Docs email address and password.
> client.ClientLogin('usern...@gmail.com', 'pass')
> # Query the server for an Atom feed containing a list of your documents.
> documents_feed = client.GetDocumentListFeed()
> # Loop through the feed and extract each document entry.
> for document_entry in documents_feed.entry:
> # Display the title of the document on the command line.
> print document_entry.title.text


the step4 worked fine locally, but I couldn't figured out what step3 is 
about. so, I think maybe I'll need to upload to the server.
during the uploading, I've noticed the messages regarding to the ssl 
thingy. and so I installed the pre-compiled ssl-1.15.win32-py2.5.exe that I 
found on the web.
the ssl message is gone during the re-upload.
after some more digging, I had managed to pull out the feeds from the 
Google services using step3.
I was happy! went to bed, woke up, had a lovely meal then booted up my 
computer.

all the sudden the step4 locally, had stopped working.
the traceback looks like this

> File "...google_appengine\google\appengine\ext\webapp\_webapp25.py", line 
> 701, in __call__
> handler.get(*groups)
> File "my_app\step1.py", line 35, in get
> client.ClientLogin('usern...@gmail.com', 'pass')
> File "my_app\gdata\service.py", line 834, in ClientLogin
> self.ProgrammaticLogin(captcha_token, captcha_response)
> File "my_app\gdata\service.py", line 771, in ProgrammaticLogin
> headers={'Content-Type':'application/x-www-form-urlencoded'})
> File "my_app\atom\http.py", line 174, in request
> return connection.getresponse()
> File "...google_appengine\google\appengine\dist\httplib.py", line 222, in 
> getresponse
> deadline=self.timeout)
> File "...google_appengine\google\appengine\api\urlfetch.py", line 263, in 
> fetch
> return rpc.get_result()
> File "...google_appengine\google\appengine\api\apiproxy_stub_map.py", line 
> 592, in get_result
> return self.__get_result_hook(self)
> File "...google_appengine\google\appengine\api\urlfetch.py", line 374, in 
> _get_fetch_result
> raise SSLCertificateError(str(err))
> SSLCertificateError: ApplicationError: 6 (1, '_ssl.c:491: 
> error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify 
> failed')


and here's the traceback from step3

> File "...google_appengine\google\appengine\ext\webapp\_webapp25.py", line 
> 701, in __call__
> handler.get(*groups)
> File "my_app\step2.py", line 123, in get
> session_token = client.upgrade_to_session_token(auth_token)
> File "my_app\gdata\service.py", line 903, in upgrade_to_session_token
> headers={'Content-Type':'application/x-www-form-urlencoded'})
> File "my_app\gdata\auth.py", line 731, in perform_request
> return http_client.request(operation, url, data=data, headers=headers)
> File "my_app\gdata\alt\appengine.py", line 151, in request
> method=method, headers=all_headers, follow_redirects=False))
> File "...google_appengine\google\appengine\api\urlfetch.py", line 263, in 
> fetch
> return rpc.get_result()
> File "...google_appengine\google\appengine\api\apiproxy_stub_map.py", line 
> 592, in get_result
> return self.__get_result_hook(self)
> File "...google_appengine\google\appengine\api\urlfetch.py", line 374, in 
> _get_fetch_result
> raise SSLCertificateError(str(err))
> SSLCertificateError: ApplicationError: 6 (1, '_ssl.c:491: 
> error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify 
> failed')


they seem to be caused by the same problem.
I've Googled here and there for like 5 hours.
and heard people talking about setting the fetch()'s validate_certificate 
variable to False, instead of None

> fetch(url, payload=None, method=GET, headers={}, allow_truncated=False, 
> follow_redirects=True, deadline=None, validate_certificate=None)


Since I'm not using the fetch() directly and the function is in the 
appengine's api.
changing the source code probably won't do anything.
is there's any workaround?
also I'm suspicious about the SSL... maybe the ssl library is what's 
causing this?

Regards,

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/Sx8fP21iJnoJ.
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