Fb θέμα του έργου - «διεύθυνση URL δεν μπορεί να επικυρωθεί. Ανταπόκριση δεν ταιριάζει με την αναμενόμενη πρόκληση»

ψήφοι
1

Έχω ξεκινήσει μια εφαρμογή Heroku χρησιμοποιώντας τα παρακάτω αρχεία: -

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

Έχω εγκαταστήσει node.js εξαρτήσεις χρησιμοποιώντας την εντολή: npm install express request body-parser --save

Μετά git push heroku master, η εφαρμογή ξεκινά σωστά.

Ωστόσο, όταν προσπαθεί να δημιουργήσει ένα webhook στο fb του έργου, το σφάλμα είναι «διεύθυνση URL δεν μπορεί να επικυρωθεί. Ανταπόκριση δεν ταιριάζει με την αναμενόμενη πρόκληση», στη συνέχεια, δίνει τις διαφορετικές απαντήσεις στην πρόκληση. Δηλαδή, η διεύθυνση URL μου απαντά με «Γεια σας κόσμο, θα φαίνεται να λειτουργεί» αντί αριθμητικό πλήκτρο.

Θα εκτιμούσα πολύ τη βοήθειά σας!

Δημοσιεύθηκε 09/05/2017 στις 21:59
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
2

Θα πρέπει να επισημάνω FB με την διαδρομή που έχει τη λειτουργία επαληθεύει μέσα σε αυτό. Αυτήν τη στιγμή δείχνουν FB με το δείκτη ρίζα ιστοσελίδα '/'φαίνεται.

Αλλάξτε την webhook url FB στις ρυθμίσεις της εφαρμογής για να https://YOUR_DOMAIN.com/webhookκαι η επαλήθευση θα είναι πλήρης. FB θα στείλει στη συνέχεια ό, τι εκδηλώσεις θα εγγραφείτε στο να σας '/webhook'διαδρομή.

Εάν αυτό δεν λειτουργήσει, παρατηρήσετε έχετε ενσωματωμένες σας βεβαιωθείτε κουπόνι εδώ test-token:

...

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

Αυτό θα ολοκληρώσει μόνο την πρόκληση, αν 'test-token'είναι αυτό που έθεσε ως συμβολική εξακρίβωση webhook σας. Ένας καλύτερος τρόπος για να γίνει αυτό ΙΜΟ θα είναι τα εξής:

...

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

Στο παραπάνω παράδειγμα, θα πρέπει να περάσει στην επαλήθευση κουπόνι που θα επιλέξετε για webhook σας κατά την εκτέλεση του διακομιστή σας, πριν να προσπαθήσετε να ελέγξει την webhook.

Σε Heroku ταμπλό σας, προσθέστε VERIFY_TOKENμε το κουπόνι σας ως τιμή στις μεταβλητές config σας. Αυτό θα κάνει το ελέγξει συμβολική διαθέσιμα χωρίς ενσωματώνουμε.

Απαντήθηκε 10/05/2017 στις 18:29
πηγή χρήστη

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