Facebook Messenger bot kódolási hiba

szavazat
1

Írtam minta echo üzenet bot segítségével facebook messenger api és wit.ai intézkedéseket.

Üzenem a Facebook oldal megkapta a megfelelő lépéseket függvény segítségével szellemes api is egyre nevezik. Azonban míg visszatér a válasz, kapok followin hibát, mint -

Hoppá! Hiba történt továbbítása a válasz: Hiba: (# 100) Paraméter üzenet [szöveg] kell lennie UTF-8 kódolású húr fetch.then.then.json (/app/index.js:106:13) a feldolgozási ._tickCallback (belső / folyamat / next_tick.js: 103: 7)

Itt látható a funkciót, amelyet használni, hogy visszatérjen a válasz -

const fbMessage = (id, text) => {  
  const body = JSON.stringify({
    recipient: { id },
    message: { text },
  });
  const qs = 'access_token=' + encodeURIComponent(FB_PAGE_ACCESS_TOKEN);
  return fetch('https://graph.facebook.com/v2.6/me/messages?' + qs, {
    method: 'POST',
    headers: {'Content-Type': 'application/json; charset=UTF-8'},
    body
  })
  .then(rsp => rsp.json())
  .then(json => {
    if (json.error && json.error.message) {
      throw new Error(json.error.message);`enter code here`
    }   
    return json;
  });
};

Én másolni ezt a funkciót a messenger.js fájlt a dokumentációt, mert én csak próbáltam a POC. Megnéztem az értékeket a szöveges és id ebben a funkciójában és ellenőrizve console.log nyilatkozatok és azok jönnek megfelelően.

Lehet egyes szakértők segítsen nekem megoldani ezt a hibát?

Megjegyzés - Próbáltam kódoló szöveget text.toString ( „utf8”); de visszatér a kódolás string [object object], és amit a választ kapok bot. így nem dolgozik.

A kérdést 16/08/2016 13:42
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
0

Szerezd meg a legújabb kódot node-ész , van egy változás facebook id használat,

Szerint Facebook:

A K május 17 méret a felhasználó és az oldal azonosítók révén kézbesített webhooks változik int, hogy egy string, hogy jobban támogassák az alapértelmezett JSON jeladó js (hogy kárpitok hosszú ints). Kérjük, ellenőrizze, hogy a app működik húr azonosítók visszatért webhooks valamint ints.

Mégis egyre probléma az api megpróbálja felvenni a if(event.message && !event.message.is_echo)feltétellel, amint az alábbi kódot.

 // Message handler
 app.post('/webhook', (req, res) => {
   const data = req.body;
    if (data.object === 'page') {
      data.entry.forEach(entry => {
        entry.messaging.forEach(event => {
         if (event.message && !event.message.is_echo) {
            const sender = event.sender.id;
           const sessionId = findOrCreateSession(sender);
           const {text, attachments} = event.message;
           if (attachments) {
             fbMessage(sender, 'Sorry I can only process text messages for now.')
             .catch(console.error);
           } else if (text) {
             wit.runActions(
               sessionId, // the user's current session
               text, // the user's message
               sessions[sessionId].context // the user's current session state
             ).then((context) => {
               console.log('Waiting for next user messages');
               sessions[sessionId].context = context;
             })
             .catch((err) => {
               console.error('Oops! Got an error from Wit: ', err.stack || err);
             })
           }
         } else {
           console.log('received event', JSON.stringify(event));
         }
       });
     });
   }
   res.sendStatus(200);
 });

Referencia:
nem találtunk megfelelő felhasználói hiba
nem illő felhasználói fix

Válaszolt 28/08/2016 13:52
a forrás felhasználó

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