我正在使用Gupshup.io开发一个聊天机器人,并希望对外部API进行HTTP调用。
我正在使用此代码:
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;
}
这给了我这个错误:
TypeError:第一个参数必须是字符串或缓冲区
如何使用机器人构建器工具上的Gupshup's在线IDE对API进行HTTP POST调用,该API采用JSON格式的参数?
答案 0 :(得分: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。