2016-10-24 2 views
1

私はGupshup.ioを使用してチャットボットを開発しており、外部APIへのHTTP呼び出しを行いたいと考えていました。Gupshupのbotビルダーツールを使用してHTTP POST呼び出しを行う

私はこのコードを使用しています:

if(event.message=='hi'){ 
    var contextParam = { 
     "cobrand": { 
      "cobrandLogin": "sbCobxxxx", 
      "cobrandPassword": "xxxxxxx-9f-4307-9d9a-451f3xxxx075", 
      "locale": "en_US" 
     } 
    }; 
    var url = "https://developer.api.yodlee.com:443/ysl/restserver/v1/cobrand/login"; 
    var param = contextParam; 
    var header = {"Content-Type": "application/x-www-form-urlencoded"}; 

    context.simplehttp.makePost(url,param,header); 
    return; 
} 

をそして、これは私にこのエラー与えている:私は使用してJSON形式でパラメータを取りAPIにHTTPのPOST呼び出しを行うことができますどのように

TypeError: first argument must be a string or Buffer

をそのボットビルダツールのGupshup'sオンラインIDE

答えて

3

私はGupshupチームのメンバーです。

はいGupshup Bot Builderを使用してPOST呼び出しを行うことは可能です。ここではそうするコードです。

if(event.message=='hi'){ 
    var contextParam = { 
     "cobrand": { 
     "cobrandLogin": "sbCobxxxx", 
     "cobrandPassword": "xxxxxxx-9f-4307-9d9a-451f3xxxx075", 
     "locale": "en_US" 
     } 
    }; 
var url = "https://developer.api.yodlee.com:443/ysl/restserver/v1/cobrand/login"; 
    var param = JSON.stringify(contextParam); 
    var header = {"Content-Type": "application/json"}; 
    context.simplehttp.makePost(url, param, header); 
    return; 
} 

はmakePostメソッドに引数としてそれを追加する前に、パラメータ(この場合はcontextParam)を文字列化することを忘れないでください。また、content-typeはapplication/jsonです。

関連する問題