OAuth Excepție Facebook messenger chatbot folosind api.ai și Heroku (node.js)

voturi
1

Am împărtășit codul meu și eroarea care a apărut de mai jos. Practic, am urmat tutorial http://www.girliemac.com/blog/2017/01/06/facebook-apiai-bot-nodejs/ și un altul. Chatbot mea lucrează pentru Smalltalk , dar nu și pentru lucrurile api vreme. Încerc să fac chatbot mi dea raspunsuri despre vreme în diferite orașe. Am urmat tutorial exact.

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

// cod de la index.js doar pentru lucruri api meteo

 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
          }
        });
      }
    })
  }

});

Cum pot remedia această eroare?

Întrebat 23/09/2017 la 05:00
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
1

Eroarea se datorează faptului că scoped pagini ID - ul pe care îl trimiteți cu mesajul în care recipient.idnu este valid. Presupunând că ați configurat sendMessage()funcția de tutorial corrently, cel mai probabil problema este că contul Facebook pe care îl utilizați chat - ul cu bot nu are rolul adecvat.

În cazul în care bot nu este publică (de exemplu, nu a fost prezentat și aprobat) contul de Facebook pe care îl utilizați pentru a trimite mesaje de la bot trebuie să fie dat de administrator, dezvoltator, sau rolul tester în setările aplicației.

Publicat 26/09/2017 la 04:25
sursa de către utilizator

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