10

Wenn ich die Google Earth Engine (GEE) -Python-APIs über Google AppEngine aufruft, wird sie verworfen eine HTTPException, die besagt "HTTPException: ungültiges und/oder fehlendes SSL-Zertifikat für URL: https://accounts.google.com/o/oauth2/token". Das Projekt läuft lange vor dem Neujahrsfeiertag, aber es brach plötzlich aus, ohne meine eigenen Codes zu ändern, als ich es gestern getestet habe.HTTPException: ungültiges und/oder fehlendes SSL-Zertifikat für die URL: https://accounts.google.com/o/oauth2/token

The detailed error information

+1

Der Fehler wurde an Google gemeldet und Sie können seinen Status hier verfolgen: https://code.google.com/p/googleappengine/issues/detail?id=13477 – ValLeNain

Antwort

6

erlebe ich auch das gleiche Problem in meinem Python-Skript mit App Engine. Es war in Ordnung vor ein paar Tagen läuft und das Zertifikat für accounts.google.com ist bis 9. März 2017

File "/Users/QQQ/Documents/Developpements/ae-python-project/app/user_spreadsheet_auth.py", line 55, in _get_service 
    service = build('sheets', 'v4', http=http_auth) 
File "/Users/QQQ/Documents/Developpements/ae-python-project/libs/oauth2client/_helpers.py", line 133, in positional_wrapper 
    return wrapped(*args, **kwargs) 
File "/Users/QQQ/Documents/Developpements/ae-python-project/libs/googleapiclient/discovery.py", line 222, in build 
    cache) 
File "/Users/QQQ/Documents/Developpements/ae-python-project/libs/googleapiclient/discovery.py", line 269, in _retrieve_discovery_doc 
    resp, content = http.request(actual_url) 
File "/Users/QQQ/Documents/Developpements/ae-python-project/libs/oauth2client/transport.py", line 159, in new_request 
    credentials._refresh(orig_request_method) 
File "/Users/QQQ/Documents/Developpements/ae-python-project/libs/oauth2client/client.py", line 744, in _refresh 
    self._do_refresh_request(http) 
File "/Users/QQQ/Documents/Developpements/ae-python-project/libs/oauth2client/client.py", line 775, in _do_refresh_request 
    body=body, headers=headers) 
File "/Users/QQQ/Documents/Developpements/ae-python-project/libs/oauth2client/transport.py", line 282, in request 
    connection_type=connection_type) 
File "/Users/QQQ/Documents/Developpements/ae-python-project/libs/httplib2/__init__.py", line 1609, in request 
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey) 
File "/Users/QQQ/Documents/Developpements/ae-python-project/libs/httplib2/__init__.py", line 1351, in _request 
    (response, content) = self._conn_request(conn, request_uri, method, body, headers) 
File "/Users/QQQ/Documents/Developpements/ae-python-project/libs/httplib2/__init__.py", line 1307, in _conn_request 
    response = conn.getresponse() 
File "/Users/QQQ/google-cloud-sdk/platform/google_appengine/google/appengine/dist27/gae_override/httplib.py", line 532, in getresponse 
    raise HTTPException(str(e)) 
HTTPException: Invalid and/or missing SSL certificate for URL: https://accounts.google.com/o/oauth2/token 

bearbeiten gilt: es sieht aus wie das Problem hier vor ein paar Stunden berichtet wurde: https://code.google.com/p/googleappengine/issues/detail?id=13477

+3

Als schnelle Zwischenlösung können Sie Cacerts umbenennen .txt und urlfetch_cacerts.txt in _cacerts.txt und _urlfetch_cacerts.txt im Ordner google-cloud-sdk/plattform/google_appengine/lib/cacerts/und starten Sie Ihren dev-Server neu. –

+0

Es funktioniert! Vielen Dank! – Zelong

0

für Windows, weil das SDK in einer Admin Read- gespeichert Nur Bereich, ich habe Windows File Explorer in zwei Schritten anstelle eines Skripts verwendet.

Zuerst herunterladen https://curl.haxx.se/ca/cacert.pem in einen Ordner, z. Downloads.

curl https://curl.haxx.se/ca/cacert.pem > urlfetch_cacerts.txt 

Sie können auch einen Browser verwenden, um die Datei herunterzuladen und umzubenennen.

Überprüfen Sie, wo Ihre Cacerts gespeichert sind. Ich fand sie in

C:\Program Files (x86)\Google\google_appengine\lib\cacerts 

Andere report es in:

C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\cacerts\urlfetch_cacerts.txt 

Mit Admin-Anmeldeinformationen, sonst die Datei urlfetch_cacerts.txt etwas umbenennen.

Kopieren Sie anschließend die heruntergeladene Datei cacerts.pem zu

C:\Program Files (x86)\Google\google_appengine\lib\cacerts 

und benennen Sie es

Voila urlfetch_cacerts.txt!

Verwandte Themen