5

Warum adwords api google stoppt auf Anruf auf diesen Link:Warum erhalte ich CERTIFICATE_VERIFY_FAILED von Google Adwords API?

https://adwords.google.com/api/adwords/mcm/v201502/CustomerService?wsdl 

Mit diesem Fehler - sollte ich vor einiger Zertifikat laden und wie?

urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)> 

Verwenden von Python 2.7.10.

vollständige Quellcode: create_adwords_client_without_yaml.py

Vollfehlercode:

Traceback (most recent call last): 
    File "C:/Users/Crezary Wagner/PycharmProjects/learn-adwords/src/examples/create_adwords_client_without_yaml.py", line 56, in <module> 
    CLIENT_CUSTOMER_ID) 
    File "C:/Users/Crezary Wagner/PycharmProjects/learn-adwords/src/examples/create_adwords_client_without_yaml.py", line 50, in main 
    customer = adwords_client.GetService('CustomerService').get() 
    File "C:\root\Python27\lib\site-packages\googleads\adwords.py", line 256, in GetService 
    proxy=proxy_option, cache=self.cache, timeout=3600) 
    File "C:\root\Python27\lib\site-packages\suds\client.py", line 115, in __init__ 
    self.wsdl = reader.open(url) 
    File "C:\root\Python27\lib\site-packages\suds\reader.py", line 150, in open 
    d = self.fn(url, self.options) 
    File "C:\root\Python27\lib\site-packages\suds\wsdl.py", line 136, in __init__ 
    d = reader.open(url) 
    File "C:\root\Python27\lib\site-packages\suds\reader.py", line 74, in open 
    d = self.download(url) 
    File "C:\root\Python27\lib\site-packages\suds\reader.py", line 92, in download 
    fp = self.options.transport.open(Request(url)) 
    File "C:\root\Python27\lib\site-packages\suds\transport\https.py", line 62, in open 
    return HttpTransport.open(self, request) 
    File "C:\root\Python27\lib\site-packages\suds\transport\http.py", line 67, in open 
    return self.u2open(u2request) 
    File "C:\root\Python27\lib\site-packages\suds\transport\http.py", line 132, in u2open 
    return url.open(u2request, timeout=tm) 
    File "C:\root\Python27\lib\urllib2.py", line 431, in open 
    response = self._open(req, data) 
    File "C:\root\Python27\lib\urllib2.py", line 449, in _open 
    '_open', req) 
    File "C:\root\Python27\lib\urllib2.py", line 409, in _call_chain 
    result = func(*args) 
    File "C:\root\Python27\lib\urllib2.py", line 1240, in https_open 
    context=self._context) 
    File "C:\root\Python27\lib\urllib2.py", line 1197, in do_open 
    raise URLError(err) 
urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)> 
+0

Stellen Sie sicher, dass das Betriebssystem vollständig aktualisiert ist. Möglicherweise fehlen öffentliche Zertifikate, die Sie benötigen. – abraham

Antwort

2

Nicht sicher, ob das ist das Problem hier, aber es lohnt sich zu überprüfen.

Python 2.7.9 Aktiviert die Zertifikatsüberprüfung standardmäßig für HTTP Verbindungen.

Der Server, zu dem Sie eine Verbindung herstellen, verfügt nicht über ein Zertifikat, dem Ihr Client vertraut. pysphere sollte SSL für diesen Anwendungsfall entsprechend konfigurieren.

Versuchen Sie Ihre Anfrage wie machen:

requests.get('https://adwords.google.com/api/adwords/mcm/v201502/CustomerService?wsdl', verify=False) 
+0

Ich kann die Überprüfung stoppen, daher kann ich Ihre Lösung nicht verwenden. Ich weiß, dass es funktioniert, muss aber ein vertrauenswürdiges Zertifikat installieren. – Chameleon

+0

Aktivieren Sie diese [link] (https://developers.google.com/adwords/api/docs/guides/authentication), um Ihre Anwendung mithilfe von OAUTH 2.0 zu autorisieren. –

+1

Dieser Link hilft nicht bei Zertifikatsproblemen. Es ist eine gute Quelle für Informationen, aber nichts über Probleme mit Zertifikaten. Offizielle Google-Beispiele funktionieren nicht. – Chameleon

3

Python verwendet Zertifikate von ‚System ssl Zertifikatspeicher‘ https-Verbindung zu zertifizieren, wenn es keine entsprechende SSL-Zertifikat im Speicher Fehler wie dies geschieht. herunterladen SSL-Zertifikat (HTTPS-Link in Browser öffnen und Schloss-Symbol in der Adressleiste klicken> Weitere Informationen> Zertifikat anzeigen> Details> Export) und auf Ihrem System installiert, wie Sie diesen Link angegeben http://windows.microsoft.com/en-us/windows/import-export-certificates-private-keys#1TC=windows-7

0

Try this, es hat mir geholfen :

import ssl 

ssl._create_default_https_context = ssl._create_unverified_context