subdomains google engine domain custom app google-app-engine ssl urlfetch

google-app-engine - domain - google app engine dns settings



Certificado SSL no vĂ¡lido y/o faltante al usar Google App Engine (2)

ACTUALIZACIÓN : Por favor, si alguien puede ayudar: Google está esperando entradas y ejemplos de este problema en su herramienta de seguimiento de errores. Si tiene pasos reproducibles para este problema, compártalos en: https://code.google.com/p/googleappengine/issues/detail?id=10937

Estoy tratando de obtener datos de la API de StackExchange utilizando un backend de Google App Engine. Como ya sabrá, algunas de las API de StackExchange son específicas de un sitio y requieren que los desarrolladores ejecuten consultas en cada sitio en el que el usuario está registrado.

Entonces, aquí está mi código de backend para obtener datos de la línea de tiempo de estos sitios. La variable feed_info_site contiene el nombre del sitio StackExchange (como ''security'' , ''serverfault'' , etc.).

data = json.loads(urllib.urlopen("%sme/timeline?%s" % (self.API_BASE_URL, urllib.urlencode({"pagesize": 100, "fromdate": se_since_timestamp, "filter": "!9WWBR (nmw", "site": feed_info_site, "access_token": decrypt(self.API_ACCESS_TOKEN_SECRET, self.access_token), "key": self.API_APP_KEY}))).read()) for item in data[''items'']: ... # code for parsing timeline items

Al ejecutar esta consulta en todos los sitios, excepto Stack Overflow, todo funciona bien. Lo que es extraño es que cuando la variable feed_info_site está configurada en ''stackoverflow'' , recibo el siguiente error de Google App Engine:

HTTPException: Invalid and/or missing SSL certificate for URL: https://api.stackexchange.com/2.2/me/timeline? filter=%219WWBR%28nmw&access_token= <ACCESS_TOKEN_REMOVED>&fromdate=1&pagesize=100&key= <API_KEY_REMOVED>&site=stackoverflow

Por supuesto, si ejecuto la misma consulta en Safari, obtengo los resultados de JSON que espero de la API. Entonces, el problema realmente radica en el servicio URLfetch de Google. Encontré varios temas aquí en Stack Overflow relacionados con excepciones HTTPS / SSL similares, pero ninguna respuesta aceptada resolvió mis problemas. Traté de eliminar los archivos cacerts.txt . También intenté hacer la llamada con validate_certificate=False , sin éxito.

Creo que el problema no está estrictamente relacionado con HTTPS / SSL. De ser así, ¿cómo explicarías que cambiar un solo parámetro de API haría que la solicitud fallara?


  1. Espere la próxima actualización del motor de la aplicación (programada pronto) y luego actualice.
  2. Reemplace browserid.org/verify con otro servicio (verifier.loogin.persona.org/verify es un buen servicio alojado por Mozilla, lo que podría usarse)
  3. Asegúrese de que cacerts.txt no exista (parece que lo ha ordenado, pero solo en caso :-))
  4. Intento nuevamente ¡Buena suerte! -Brendan

Me enfrentaba al mismo error, Google actualizó el motor de la aplicación ahora, se resolvió el error, compruebe los documentos actualizados.