2017-05-08 5 views
0

Ich versuche, die Sendgrid-API auf Wordpress zu verwenden, aber diesen Fehler bei der Überprüfung erhalten.Verwenden der Sendgrid-API mit Wordpress

XMLHttpRequest cannot load https://api.sendgrid.com/v3/mail/send. Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header has a value 'https://sendgrid.api-docs.io' that is not equal to the supplied origin. Origin 'https://localhost2' is therefore not allowed access. 

Zuerst war ich allerdings ein Dienst, die HTTPS erfordert, so dass ich Setup https auf meinem lokalen MAMP Server aber immer noch nicht funktioniert, dann habe ich versucht, mehrere Strategien, nämlich .htaccess-Datei zu ändern, Hinzufügen von CORS-Header in der Datei aber nichts hat wirklich funktioniert.

$http.post('https://api.sendgrid.com/v3/mail/send',mail,{ headers: { 
      'Authorization': 'Bearer MY IDENTICATION', 
      'Content-Type': 'application/json' 
     }}) 
    .success(function(data){ 
     console.log('Error' + data); 
    }) 
    .error(function(data){ 
     console.log('Error' + data); 
    }); 

Dies ist die Winkelfunktion I an die API schreiben verwendet.

Kann mir jemand helfen, zu erklären, was genau die Fehlermittel (oder bin ich etwas fehlt)

Antwort

0

Ich weiß nicht, eckig, so dass ich vielleicht nicht vollständig die Architektur verstehen. Es sieht für mich so aus, als würden Sie versuchen, den API-Aufruf über den Browser des Clients auszuführen. Aber je Sendgrid der docs:

Wenn Sie eine Browser-only-Anwendung, die auf APIs ausstreckt, der API-Schlüssel hat in der Anwendung eingebettet werden. Jeder mit Zugriff auf eine Nur-Browser-Anwendung kann auf den gesamten JavaScript-Quellcode einschließlich Ihrer API-Schlüssel zugreifen.

Wenn Sie Ihren API-Schlüssel öffentlich zugänglich machen, kann dies dazu führen, dass jemand die API-Aufrufe mit Ihrem API-Schlüssel authentifiziert. Dies ist ein signifikanter Sicherheitsbedenken sowohl für Sie als auch für SendGrid .

über SendGrid

Anstatt machen den API-Aufruf aus dem Browser auf dem Front-End, sicher sein, wird der Anruf von der selbst Anwendung Back-End gemacht.

Verwandte Themen