2016-04-12 10 views
12

私はFacebookのメッセンジャーAPIセットアップしようとしていると私はウェブフックを追加しようとすると、私はこのエラーを取得しています:FacebookのメッセンジャーのAPI「URLは検証できませんでした」

URLをすることができませんでした検証された。次のエラーでコールバック検証に失敗しました:curl_errno = 60; curl_error = SSL証明書の問題:ローカル発行者証明書を取得できません。 HTTPステータスコード= 200; HTTP Message = Connection established

私は、チュートリアルで提供したコードを使用してNodeJSサーバーをセットアップしました。ここのURL:HERE https://stackoverload.me/chatter/webhook

EDITは解決は(誰かがコードを見てみたかった)'S:

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

チェーンに中間証明書がないため、証明書を本物と確認することはできません。 https://www.sslshopper.com/ssl-checker.html#hostname=stackoverload.meには、何をすべきかに関する指示があります。 – CBroe

+0

@CBroe parseapp.comに展開していますが、私は同じエラーに直面していますか? – dhaval

+2

私のサーバにCAファイルを追加しましたが、うまくいきました –

答えて

2

はこれを答えることを忘れたが、私はCAのファイルを追加したことが判明httpsサーバーとFacebookにパラメータを入力して受け入れました。あなたは以下のシェルでチェーン証明書を使用することができます

0

からは強力な検証トークンでsetup FB messenger webhookしようとしていました。 o\/ERviEE\/vt0|<E|\|

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

同じコードで確認されている:ややこのよう

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

しかし、FBから受信した値である。o\\/ERviEE\\/vt0|<E|\\|

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

これは奇妙なです。 Facebookがどのように特殊文字をエスケープしてトークンを検証するかについて話すような文書参照はないようです。これが他のエンティティに対しても発生するかどうかは不明です。

結論:トークンを確認するために特殊文字を使用する場合、少し注意する必要があります。

Facebookがwebhooksの検証トークン用の特殊文字をエスケープするためです。

関連する問題