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.