Fb problém developer - ‚URL nemohla být ověřena. Reakce neodpovídá očekávané výzvě‘

hlasů
1

Já jsem zahájil žádost Heroku pomocí následující soubory: -

app.js

'use strict'

const express = require('express')
const bodyParser = require('body-parser')
const request = require('request')
const app = express()

app.set('port', (process.env.PORT || 5000))

// Process application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({extended: false}))

// Process application/json
app.use(bodyParser.json())

// Index route
app.get('/', function (req, res) {
    res.send(Hello world, I seem to be working)

})

// for Facebook verification
app.get('/webhook', function (req, res) {
    if (req.query['hub.verify_token'] === 'test-token') {
      res.send(req.query['hub.challenge']);
   } else {
      res.send('Error, wrong validation token');    
   }
})

// Spin up the server
app.listen(app.get('port'), function() {
    console.log('running on port', app.get('port'))
})

.gitignore

node_modules

package.json

{
  name: heroku-node-practice,
  version: 1.0.0,
  description: New bot,
  main: app.js,
  scripts: {
    test: echo \Error: no test specified\ && exit 1,
    start: node app.js
  },
  author: Paigal,
  license: ISC,
  dependencies: {
    body-parser: ^1.17.1,
    express: ^4.15.2,
    foobar: ^1.1.0,
    mongoose: ^4.9.8,
    request: ^2.81.0
  }
}

Procfile

web: node app.js

Nainstaloval jsem Node.js závislostí pomocí příkazu: npm install express request body-parser --save

Poté, co git push heroku masterse aplikace spustí správně.

Nicméně, když se snaží vytvořit webhook v fb developera, chyba je ‚URL nemohla být ověřena. Reakce neodpovídá očekávané výzvě‘, pak jsou uvedeny různé reakce na tuto výzvu. To znamená, že má URL odpoví „Ahoj světe, já se zdají být“ místo číselné klávesy.

Vděčni za vaši pomoc!

Položena 09/05/2017 v 21:59
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
2

Je potřeba upozornit FB na trase, která má funkci ověřit v něm. Ty jsou v současné době míří FB do indexu kořenového webu '/'se zdá.

Změna FB webhook URL v nastavení aplikace se https://YOUR_DOMAIN.com/webhooka ověření bude kompletní. FB pak pošle cokoliv události přihlášení k odběru do vaší '/webhook'trase.

Pokud to nebude fungovat, všimnete, že jste napevno vaše ověření tokenu i zde test-token:

...

if (req.query['hub.verify_token'] === 'test-token') { ...

To bude jen dokončit úkol, pokud 'test-token'je to, co jste nastavili webhook ověřovací token. Lepší způsob, jak toho dosáhnout imo by byl následující:

...

if (req.query['hub.verify_token'] === process.env.VERIFY_TOKEN ) { ...

Ve výše uvedeném příkladu je nutné projít v ověření tokenu si vyberete pro váš webhook při spuštění serveru, než se pokusíte ověřit webhook.

Ve vašem Heroku palubní desku, přidejte VERIFY_TOKENs tokenu jako hodnotu na vaše konfigurační proměnné. To umožní, aby ověření tokenu k dispozici bez napevno.

Odpovězeno 10/05/2017 v 18:29
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more