2016-04-12 15 views
12

ich Setup versucht, den Messenger-API Facebook und ich bin immer diese Fehlermeldung, wenn ich die Webhook hinzuzufügen versuchen:Facebook Messenger API „URL könnte nicht VALIDATED“

Die URL nicht sein könnte validiert. Die Überprüfung des Rückrufs ist mit den folgenden Fehlern fehlgeschlagen: curl_errno = 60; curl_error = SSL-Zertifikat-Problem: lokales Aussteller-Zertifikat nicht erhalten; HTTP-Statuscode = 200; HTTP-Nachricht = Verbindung hergestellt

Ich habe meinen NodeJS-Server mit dem im Lernprogramm bereitgestellten Code eingerichtet. Hier ist die url: https://stackoverload.me/chatter/webhook

EDIT Hier die Auflösung (jemand wollte den Code sehen):

var express = require('express'); 
 

 
var fs = require('fs'); 
 
var https = require('https'); 
 

 
var app = express(); 
 
app.use(express.static('public')); 
 

 
// SSL 
 
https.createServer(
 
    { 
 
     ca: fs.readFileSync(__dirname + '/server.ca'), 
 
     key: fs.readFileSync(__dirname + '/server.key'), 
 
     cert: fs.readFileSync(__dirname + '/server.cert') 
 
    } 
 
, app).listen(443, function() { 
 
    console.log('Server is now running.'); 
 
}); 
 

 
// HTTP redirect to SSL 
 
express() 
 
    .get('*', function(req,res){ 
 
     res.redirect('https://example.com' + req.url) 
 
    }) 
 
    .listen(80);

+2

Ihnen fehlt ein Zwischenzertifikat in der Kette, sodass Ihr Zertifikat nicht als echt verifiziert werden kann. https://www.sslshopper.com/ssl-checker.html#hostname=stackoverload.me hat Anweisungen, was zu tun ist. – CBroe

+0

@CBroe Ich habe den gleichen Fehler, obwohl ich auf parseapp.com bereitstellen, keine Idee? – dhaval

+2

Ich habe eine CA-Datei zu meinem Server hinzugefügt und es funktionierte einwandfrei –

Antwort

2

vergessen, dies zu beantworten, aber ich fand heraus, dass ich eine ca-Datei hinzugefügt und Parameter auf meinen https Server und Facebook dann akzeptiert.

0

wurde auf setup FB messenger webhook mit einem starken versuchen Token überprüfen. Etwas wie folgt aus: o\/ERviEE\/vt0|<E|\|

o/ERviEE/vt0|<E|\| verify token set

Das gleiche im Code überprüft wird:

req.query['hub.verify_token'] === 'o\/ERviEE\/vt0|<E|\|' 

Allerdings ist der Wert, die von FB: o\\/ERviEE\\/vt0|<E|\\|

o\/ERviEE\/vt0|<E|\| verify token get

Das ist seltsam. Es scheint keinen Dokumentverweis als solchen zu geben, der darüber spricht, wie Facebook Sonderzeichen für Verifizierungstoken oder ähnliches entkommt. Nicht sicher, ob dies auch für andere Entitäten passiert.

Fazit: muss ein wenig vorsichtig sein, wenn Sie Sonderzeichen für Verify-Token verwenden.

Da entgeht Facebook Sonderzeichen für Verify-Token von Webhooks.