『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 9938|回复: 3

[流程系列] 谁用Node-red调用过阿里云短信平台

[复制链接]

9

主题

98

帖子

705

积分

高级会员

Rank: 4

积分
705
金钱
602
HASS币
30
发表于 2020-1-31 11:55:14 | 显示全部楼层 |阅读模式
用了阿里Nodejs. 和 python 的api 都不行 。报错

node.js 报错
ReferenceError: require is not defined (line 1, col 14)
也用装了 npm install @alicloud/pop-core -S。这个 还是报错。



python function 报
Traceback (most recent call last):  File "<string>", line 90, in <module>  File "C:\Python27\lib\json\__init__.py", line 339, in loads    return _default_decoder.decode(s)  File "C:\Python27\lib\json\decoder.py", line 364, in decode    obj, end = self.raw_decode(s, idx=_w(s, 0).end())  File "C:\Python27\lib\json\decoder.py", line 382, in raw_decode    raise ValueError("No JSON object could be decoded")ValueError: No JSON object could be decoded
一堆错误。

谁有过成功的案例提醒一下呗?
回复

使用道具 举报

73

主题

1165

帖子

6641

积分

论坛元老

Rank: 8Rank: 8

积分
6641
金钱
5471
HASS币
30
发表于 2020-2-10 17:50:14 | 显示全部楼层
帮忙顶一下
回复

使用道具 举报

0

主题

6

帖子

70

积分

注册会员

Rank: 2

积分
70
金钱
64
HASS币
0
发表于 2021-3-23 13:24:35 | 显示全部楼层
主要是因为在function函数中不能使用require来引入包。
但可以使用变通的方法。以阿里提供的nodejs api为例

1.先找到node-red的安装目录,手工安装阿里的api包,npm install @alicloud/sms-sdk --save 或者 安装到global也可以 npm install -g @alicloud/sms-sdk
2.在node-red目录下的settings.js中functionGlobalContent这一段中加入sdk包的引用
   functionGlobalContext: {
   smsali: require(''@alicloud/sms-sdk'')
},
3.在你具体要调用短信发送的地方使用context.global.get引用该包
var SMSClient = context.global.get('smsali');
//初始化sms_client
let smsClient = new SMSClient({accessKeyId, secretAccessKey})

这样就可以了。
回复

使用道具 举报

9

主题

98

帖子

705

积分

高级会员

Rank: 4

积分
705
金钱
602
HASS币
30
 楼主| 发表于 2021-4-9 15:24:25 | 显示全部楼层
hihijudycoma 发表于 2021-3-23 13:24
主要是因为在function函数中不能使用require来引入包。
但可以使用变通的方法。以阿里提供的nodejs api为例 ...

感谢   huitoushishi
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-21 21:46 , Processed in 0.176463 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表