无法将有效负载参数传递给Node-RED http请求

时间:2017-03-04 12:45:53

标签: node-red

我正在尝试在Node-RED中执行一个简单的http get请求。根据在线文档,我必须在函数中传递参数作为http请求节点的输入。我的功能看起来像这样;

msg.url = "https://api.socialstudio.radian6.com/v3/posts"
msg.method = "GET"
msg.headers = {'access_token': access_token}
msg.payload = {
        'topics': 234243,
        'limit': 100,
    }
return msg;

然而,当我查看服务器响应时,我收到错误:

["{"error":{"message":"Missing topics parameter.","statusCode":400,"errorCode":"MC-Unknown","requestId":"RnY9E0pbcU1lkiaf"},"meta":null}"][1]

我尝试了其他api,但我还没有能够传递有效载荷参数。

我做错了什么?

2 个答案:

答案 0 :(得分:3)

如果要为GET请求传递查询参数,则应在http request node中设置基本URL并使用mustache语法包含它们:

https://api.socialstudio.radian6.com/v3/posts?topics={topics},limit={limts}

并将函数节点更改为:

msg.method = "GET"
msg.headers = {'access_token': access_token}
msg.topics = 234243;
msg.limit = 100;

return msg;

答案 1 :(得分:2)

825 // For a node dst, 'ref_recvs' remembers the recvs introduced by a ref 826 // edge to dst. 'ref_control_inputs' remembers the inputs by a non-ref 827 // edge to dst. We will add a control edge for every pair in 828 // (ref_recvs x ref_control_inputs). 829 std::vector<NodeDef*> ref_recvs; 830 std::vector<string> ref_control_inputs; 包含请求的正文,但看起来您尝试查询的服务器要求将数据作为查询字符串传递。

试试这个:

msg.payload

(并删除msg.url = "https://api.socialstudio.radian6.com/v3/posts?topics=234243&limit=100"