OAuth Eccezione a Facebook Messenger chatbot utilizzando api.ai e Heroku (node.js)

voti
1

Ho condiviso il mio codice e l'errore che mi è venuta in seguito. Fondamentalmente, ho seguito il tutorial http://www.girliemac.com/blog/2017/01/06/facebook-apiai-bot-nodejs/ e un altro. Il mio chatbot lavora per Smalltalk, ma non per la roba tempo api. Sto cercando di fare il chatbot darmi risposte circa il tempo in diverse città. Ho seguito esattamente il tutorial.

  Error:  { message: '(#100) No matching user found',
  type: 'OAuthException',
   code: 100,
  error_subcode: 2018001,
   fbtrace_id: 'DeubaTWU6Gg' }
 Error:  { message: '(#100) No matching user found',
   type: 'OAuthException',
   code: 100,
   error_subcode: 2018001,
   fbtrace_id: 'FSiMes3IwHv' }

// Codice da index.js solo per roba tempo api

 app.post('/ai', (req, res) => {
  //console.log('*** Webhook for api.ai query ***');
  //console.log(req.body.result);

  if (req.body.result.action === 'weather') {
 //  console.log('*** weather ***');
    let city = req.body.result.parameters['geo-city'];
    let restUrl = 'http://api.openweathermap.org/data/2.5/weather?APPID='+process.env.WEATHER_API_KEY+'&q='+city;

    request.get(restUrl, (err, response, body) => {
      if (!err && response.statusCode == 200) {
        let json = JSON.parse(body);
       // console.log(json);
        let tempF = ~~(json.main.temp * 9/5 - 459.67);
        let tempC = ~~(json.main.temp - 273.15);
        let msg = 'The current condition in ' + json.name + ' is ' + json.weather[0].description + ' and the temperature is ' + tempF + ' ℉ (' +tempC+ ' ℃).'
        return res.json({
          speech: msg,
          displayText: msg,
          source: 'weather'
        });
      } else {
        let errorMessage = 'I failed to look up the city name.';
        return res.status(400).json({
          status: {
            code: 400,
            errorType: errorMessage
          }
        });
      }
    })
  }

});

Come posso correggere questo errore?

È pubblicato 23/09/2017 alle 05:00
fonte dall'utente
In altre lingue...                            


1 risposte

voti
1

L'errore è perché la pagina di ID-ambito si sta inviando con il messaggio in recipient.idnon è valido. Supponendo che è stata impostata la sendMessage()funzione dal tutorial corrently, molto probabilmente il problema è che l'account di Facebook si sta utilizzando la chat con il bot non ha il giusto ruolo.

Se il bot non è pubblico (cioè non è stato presentato e approvato) l'account di Facebook che si utilizza per inviare messaggi al bot deve essere data l'amministratore, sviluppatore, o il ruolo tester nelle impostazioni dell'app.

Risposto il 26/09/2017 a 04:25
fonte dall'utente

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