Fb fejlesztő kérdés - „URL nem lehetett érvényesíteni. Válasz nem egyezik várt kihívás”

szavazat
1

Már indított Heroku alkalmazás az alábbi fájlokat: -

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

Telepítettem node.js függőségek parancs segítségével: npm install express request body-parser --save

Miután git push heroku masteraz alkalmazás elindul rendesen.

Azonban, amikor próbál létrehozni egy webhook az fb fejlesztő, a hiba „URL nem lehetett érvényesíteni. Válasz nem egyezik várt kihívás”, majd adja meg a különböző válaszokat a kihívást. Azaz, az URL-válaszol „Helló világ, úgy tűnik, hogy működik” helyett a numerikus billentyűt.

Nagyra értékelik a segítséget!

A kérdést 09/05/2017 21:59
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
2

Meg kell mutatni FB az útvonalat, amely az ellenőrző funkció benne. Ön jelenleg mutatva FB a helyszínen gyökér index '/'úgy tűnik.

Változás a FB webhook url az alkalmazás beállításait https://YOUR_DOMAIN.com/webhookés az ellenőrzés teljes lesz. FB akkor küld bármit események előfizet a '/webhook'útvonalat.

Ha ez nem működik, akkor észre bedrótoztak az ellenőrizni token itt test-token:

...

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

Ez csak akkor töltse ki a kihívás, ha 'test-token'az, amit meg kell adnia a webhook hitelesítési token. Egy jobb módja ennek imo a következő lenne:

...

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

A fenti példában le kell tennie az ellenőrizni token az Ön által választott webhook amikor fut a szerver, mielőtt megpróbálja ellenőrizni a webhook.

Az Ön Heroku műszerfal, add VERIFY_TOKENaz Ön token értékét a konfigurációs változókat. Ez lehetővé teszi az ellenőrző tokent nélkül elérhető égetve.

Válaszolt 10/05/2017 18:29
a forrás felhasználó

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