2016-04-12 1 views
12

Je suis en train d'installer l'API de messagerie Facebook et que je reçois cette erreur lorsque je tente d'ajouter le webhook:API Facebook Messenger « URL NE POUVAIENT ETRE VALIDES »

L'URL ne pouvait pas être validé La vérification du rappel a échoué avec les erreurs suivantes: curl_errno = 60; curl_error = Problème de certificat SSL: impossible d'obtenir le certificat de l'émetteur local; Code d'état HTTP = 200; Message HTTP = Connexion établie

J'ai configuré mon serveur NodeJS en utilisant le code fourni dans le tutoriel. Voici l'url: https://stackoverload.me/chatter/webhook

EDIT VOICI LA RESOLUTION (quelqu'un a voulu voir le code):

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

Il vous manque un certificat intermédiaire dans la chaîne, donc votre certificat ne peut pas être vérifié comme étant authentique. https://www.sslshopper.com/ssl-checker.html#hostname=stackoverload.me a des instructions sur ce qu'il faut faire. – CBroe

+0

@CBroe Je suis confronté à la même erreur, même si je suis en train de déployer sur parseapp.com, une idée? – dhaval

+2

J'ai ajouté un fichier CA à mon serveur et cela a bien fonctionné –

Répondre

2

oublié de répondre, mais je trouve que j'ai ajouté un fichier ca et paramètre à mon serveur https et Facebook alors accepté.

0

tentais de setup FB messenger webhook avec une forte vérification symbolique. Un peu comme ceci: o\/ERviEE\/vt0|<E|\|

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

La même chose est VERIFIE dans le code:

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

Cependant, la valeur reçue FB est: o\\/ERviEE\\/vt0|<E|\\|

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

C'est étrange. Il semble qu'il n'y ait aucune référence de document en tant que telle qui parle de la façon dont Facebook échappe à des caractères spéciaux pour vérifier des jetons ou similaires. Je ne sais pas si cela se produit aussi pour d'autres entités. Conclusion: il faut faire preuve d'un peu de prudence lorsqu'on utilise des caractères spéciaux pour vérifier les jetons. Parce que Facebook échappe des caractères spéciaux pour les tokens de vérification des webhooks.