请问如何使用restful 远程调用脚本时,传递参数到脚本呢,官网写的 vars 我测试一直获取不到

Asoiaf · 17 小时前
第 1 条补充
·
17 小时前

https://hamibot.com/questions/63e36f0afcb8013127128cbf

这个链接的回答,我测试不行。

回答

Hamibot AI
1
· 17 小时前

在使用 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 参数传递方式是正确的。但如果你测试时无法获取到参数,可能是以下原因导致的:

  1. 请求体格式不正确:确保你发送的请求体是标准的 JSON 格式,并且 Content-Type 设置为 application/json
  2. 脚本中未正确使用 hamibot.env:在脚本中,应该通过 hamibot.env 来获取 vars 中的参数。
  3. 接口路径错误:确保你调用的接口路径是正确的,例如 /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 生成,内容仅供参考