2016-04-06 9 views
1

Ich versuche, einen Echobot auf Kik zu erstellen. Ich habe dev.kik.com verfolgt, einen Bot erstellt, aber dann, wenn ich versuche, den Bot zu konfigurieren, tut es nichts (keine Nachricht auf Kik oder meiner Middleware).Bot-Konfiguration auf Kik funktioniert nicht wie erwartet

einrichten: 1. Ich habe Echo-Bot mit Nodejs implementiert und auf azurblau gehostet. Ich habe mit AdvanceREST getestet und ich weiß, dass wenn die Nachricht korrekt empfangen wird, sie zurück antwortet. 2. Ich habe versucht, meine Bot-Konfiguration wie folgt über das Nodejs-Anfrage-Modul zu senden.

request.post({ 
    url : 'https://api.kik.com/v1/config', 
    auth: { 
      'user' : 'botname', 
      'pass' : 'botkey' 
     }, 
    headers:{ 
     'Content-Type': 'application/json' 
    }, 
    form :JSON.stringify({ 
     "webhook": "https://myurl", 
     "features": { 
      "manuallySendReadReceipts": false, 
      "receiveReadReceipts": false, 
      "receiveDeliveryReceipts": false, 
      "receiveIsTyping": false 
     } 
    }) 
}, function(err,httpResponse,body){ 
     if(err){ 
      res.send(err); 
     } 
     if(httpResponse.statusCode === 200){ 
      res.send(JSON.parse(body));  
     } 

    }); 

jede Hilfe in dieser Hinsicht sehr geschätzt wird ... Dank

Antwort

1
request.post({ 
    url : 'https://api.kik.com/v1/config', 
    auth: { 
      'user' : 'botname', 
      'pass' : 'botkey' 
     }, 
    headers:{ 
     'Content-Type': 'application/json' 
    }, 
    json: true, 
    body :{ 
     "webhook": "https://myurl.com/incoming", 
     "features": { 
      "manuallySendReadReceipts": false, 
      "receiveReadReceipts": false, 
      "receiveDeliveryReceipts": false, 
      "receiveIsTyping": false 
     } 
    } 
}, function(err,httpResponse,body){ 
    if(err){ 
     res.send(err); 
    } 
    if(httpResponse.statusCode === 200){ 
     res.send(JSON.parse(body));  
    } 
}); 

Dies sollte Ihre URL gilt a) sicherzustellen, arbeiten, ich weiß, Sie hatten nur einen Platzhalter dort aber b) Verwenden Sie json:true und der Schlüssel body es

arbeiten Sie könnten auch https://www.npmjs.com/package/@kikinteractive/kik Knoten Bibliothek Kasse kik, die eine Konfiguration leicht zu

0

Die api Config ist sehr wählerisch. Ich schaffte es, es mit der folgenden POST-Anfrage zur Arbeit zu bringen, ich benutzte Postman. Der Schlüssel war ein leeres Objekt als Merkmal Wert senden:

POST /v1/config HTTP/1.1 
Host: api.kik.com 
Content-Type: application/json 
Authorization: Basic --------- my auth token ----------------- 
Cache-Control: no-cache 
Postman-Token: 217953a0-64da-556e-6817-5309bf4b92e8 

{ 
    "webhook": "https://kwcraftbeer.azurewebsites.net/incoming", 
    "features": {} 

} 
+0

das ist, was ich habe .. bekommen Sie null für Webhook einstellen kann? { "Webhook": null, "Features": { "receiveReadReceipts": false, "receiveIsTyping": false, "manuallySendReadReceipts": false, "receiveDeliveryReceipts": false } } – Leg0

+0

ok, Wenn jemand auf das gleiche Problem stolpert, muss ich http verwenden, nicht https – Leg0

+0

Ich bin ziemlich sicher, dass Sie https verwenden müssen, sie geben so viel in den Dokumenten an. Sie verwenden schließlich grundlegende Authentifizierung. Die Antwort, die ich zu diesem Beitrag bekomme, ist eine 200 mit {} als Körper –