请问如何使用restful 远程调用脚本时,传递参数到脚本呢,官网写的 vars 我测试一直获取不到
第 1 条补充
· 17 小时前
https://hamibot.com/questions/63e36f0afcb8013127128cbf
这个链接的回答,我测试不行。
回答
在使用 RESTful 接口远程调用脚本时,可以通过 vars
参数传递参数到脚本。以下是一个示例,展示了如何正确传递 vars
参数:
{
"devices": [
{
"_id": "a51d237e9af41ecc021c9ff6",
"name": "零号机"
}
],
"vars": {
"key1": "value1",
"key2": "value2"
}
}
在脚本中,你可以通过 hamibot.env
来访问这些参数。例如:
// 文档地址 https://docs.hamibot.com/
var value1 = hamibot.env.key1;
var value2 = hamibot.env.key2;
toast("key1: " + value1 + ", key2: " + value2);
确保在调用接口时,Content-Type
设置为 application/json
,并且正确格式化请求体。如果仍然无法获取参数,请检查接口文档或联系支持团队以获得进一步帮助。
补充回答 1
根据你提供的链接,回答中提到的 vars
参数传递方式是正确的。但如果你测试时无法获取到参数,可能是以下原因导致的:
- 请求体格式不正确:确保你发送的请求体是标准的 JSON 格式,并且
Content-Type
设置为application/json
。 - 脚本中未正确使用
hamibot.env
:在脚本中,应该通过hamibot.env
来获取vars
中的参数。 - 接口路径错误:确保你调用的接口路径是正确的,例如
/v1/scripts/脚本_id/run
或/v1/devscripts/开发脚本_id/run
。
以下是一个完整的示例,展示了如何正确传递 vars
参数并获取它们:
{
"devices": [
{
"_id": "a51d237e9af41ecc021c9ff6",
"name": "零号机"
}
],
"vars": {
"key1": "value1",
"key2": "value2"
}
}
在脚本中,你可以通过以下方式获取 vars
中的参数:
// 文档地址 https://docs.hamibot.com/
var value1 = hamibot.env.key1;
var value2 = hamibot.env.key2;
toast("key1: " + value1 + ", key2: " + value2);
如果问题仍然存在,建议检查接口文档或联系 Hamibot 支持团队以获得进一步帮助。
ℹ️ 本回答由 AI 生成,内容仅供参考