首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点-红色,LoraWan活动平台

节点-红色,LoraWan活动平台
EN

Stack Overflow用户
提问于 2018-03-05 18:15:17
回答 1查看 392关注 0票数 0

我正在尝试学习如何在Node red中为Actility plattform添加http get请求。到目前为止,我只收到了一个错误401,表明授权载体不包括在内。

设置过程如下:

我从平台上得到了两个代码

代码语言:javascript
复制
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer xxx' 'https://dx-api.thingpark.com/core/latest/api/devices?deviceEUI=xx&healthState=ACTIVE&statistics=true&extendedInfo=true'

首先是令牌持有者。

第二个是请求url。

代码语言:javascript
复制
https://dx-api.thingpark.com/core/latest/api/devices?deviceEUI=xxx&healthState=ACTIVE&statistics=true&extendedInfo=true

我如何创建一个能产生正确答案的流?

谢谢。

function setup

EN

回答 1

Stack Overflow用户

发布于 2018-03-05 22:17:20

function节点中的Javascript是沙箱的(在虚拟机中运行),所以你不能使用像"require“这样的特性。但是,这不是问题--您可以直接将任何头信息添加到msg.headers对象中,无论是在function节点中,还是在change节点中。

您没有向我们展示您要注入什么数据,但是根据http request节点信息,您可以将所有这些(可选)字段作为输入传递给活动系统,这些字段可以成为请求的一部分:

msg.url (字符串)如果未在节点中配置,此可选属性设置请求的url。msg.method (字符串)如果未在节点中配置,此可选属性设置请求的HTTP方法。必须是GET、PUT、POST、PATCH或DELETE之一。msg.headers (object)设置请求的HTTP头。msg.cookies (object)如果已设置,则可用于随请求一起发送cookies。作为请求正文发送的msg.payload。

假设您正在注入您想要发布到Actility的有效负载数据,您只需使用一个简单的函数节点添加所需的Auth标头,如下所示:

代码语言:javascript
复制
msg.method = "POST";
msg.headers = {
    "Authorization": "Bearer xxx",
    "Content-Type": "application/json"
};
return msg;

或者,假设您将持有者凭据字符串作为有效负载传递到函数中,并且您有一个固定的有效负载要发送到Actility --那么您的函数可能如下所示:

代码语言:javascript
复制
msg.method = "POST";
msg.headers = {
    "Authorization": "Bearer " + msg.payload,
    "Content-Type": "application/json"
};
msg.payload = { "foo": "bar" };
return msg;

注意:为了使用这些注入字段,http request节点之前已经将它们的值定义为节点配置的一部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49108022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档