OAuth Uitzondering in Facebook Messenger chatbot behulp api.ai en Heroku (node.js)

stemmen
1

Ik heb mijn code en de fout die hieronder opgedoken gedeeld. In principe Ik volgde de tutorial http://www.girliemac.com/blog/2017/01/06/facebook-apiai-bot-nodejs/ en een ander. Mijn chatbot werkt voor smalltalk, maar niet voor het weer api spul. Ik probeer om de chatbot geeft me antwoorden over het weer in verschillende steden. Ik heb de tutorial precies gevolgd.

  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 van index.js voor weer api stuff

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

});

Hoe kan ik deze fout te herstellen?

De vraag is gesteld op 23/09/2017 om 05:00
bron van user
In andere talen...                            


1 antwoorden

stemmen
1

De fout is, omdat de pagina's scoped ID u verzendt met het bericht recipient.idis niet geldig. Ervan uitgaande dat u hebt het opzetten van de sendMessage()functie van de tutorial corrently, waarschijnlijk het probleem is dat de Facebook-account dat u gebruik maakt van de praatje met de bot niet de juiste rol te hebben.

Als het bot is niet openbaar (dwz niet is ingediend en goedgekeurd) de Facebook-account die u gebruikt om berichten naar de bot te sturen heeft de beheerder, ontwikkelaar of tester rol in uw app-instellingen worden gegeven.

antwoordde op 26/09/2017 om 04:25
bron van user

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