OAuth Exception dans chatbot messager Facebook en utilisant api.ai et Heroku (Node.js)

voix
1

J'ai partagé mon code et l'erreur qui a surgi ci - dessous. Au fond, j'ai suivi le tutoriel http://www.girliemac.com/blog/2017/01/06/facebook-apiai-bot-nodejs/ et un autre. Mon chatbot travaille pour Smalltalk mais pas pour les choses météo api. Je suis en train de faire le chatbot me donner des réponses sur le temps dans différentes villes. J'ai suivi le tutoriel exactement.

  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' }

// Code de index.js juste pour des trucs météo 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
          }
        });
      }
    })
  }

});

Comment puis-je corriger cette erreur?

Créé 23/09/2017 à 05:00
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

L'erreur est parce que la page scope ID que vous envoyez le message en recipient.idest pas valide. En supposant que vous avez mis en place la sendMessage()fonction du tutoriel corrently, très probablement le problème est que le compte Facebook que vous utilisez le chat avec le bot n'a pas le rôle.

Si le robot n'est pas public (n'a pas été soumis et approuvé) le compte Facebook que vous utilisez pour envoyer des messages au bot doit être donné à l'administrateur, développeur, ou le rôle de testeur dans vos paramètres de l'application.

Créé 26/09/2017 à 04:25
source utilisateur

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