【问题标题】:Making HTTP POST call using Gupshup's bot builder tool使用 Gupshup 的 bot builder 工具进行 HTTP POST 调用
【发布时间】:2016-10-24 06:29:52
【问题描述】:

我正在使用 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 对采用 JSON 格式参数的 API 进行 HTTP POST 调用?

【问题讨论】:

    标签: chatbot gupshup


    【解决方案1】:

    我来自 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。

    【讨论】:

    • 很好的例子,是否可以在没有 if(event.message=='hi') 的情况下在打开应用程序时始终调用 http 调用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多