1

sendCommandToDevice端点似乎不可用。我尝试直接从设备页面上的云控制台发送命令。左下角的通知说,,Command sent to device但 chrome 上的检查器显示503错误。错误时间:2018 年 10 月 27 日星期六 17:46:02 UTC

要求:

Request URL: https://cloudiot.clients6.google.com/v1/projects/<project-id>/locations/<location-name>/registries/<registry-name>/devices/<device-name>/:sendCommandToDevice?key=<removed> Request Method: POST Status Code: 503 Remote Address: 216.58.196.74:443 Referrer Policy: no-referrer-when-downgrade Payload: {binaryData: "eyJ0ZXN0IjoxfQ==", subfolder: ""}

回复:

{ "error": { "code": 503, "message": "The service is currently unavailable.", "status": "UNAVAILABLE" } }

sendCommandToDevice另外, nodejs 客户端库 (34.0.0) 中没有附加说明。我必须进行 API 发现才能使该方法可用。

4

2 回答 2

0

你还在收到503吗?我刚才测试了这个,并且能够成功接收消息。

此外,关于客户端库中缺乏命令功能的可用性,命令仍处于测试阶段,一旦完全发布,这些方法将在客户端库中可用。

于 2018-11-05T20:59:28.663 回答
0

这可能是由于

  1. 节点库中的错误
  2. Google 的 RPC 端点中的错误
  3. 谷歌缺乏测试

问题是subfolder 必须指定,并且不能是空字符串。

当我在 Firebase 函数中使用它时,我只是将firebase子文件夹用于发送的任何没有特定子文件夹的命令

const request = {
    name: `${registryName}/devices/${deviceId}`,
    binaryData: Buffer.from(JSON.stringify(commandMessage)).toString("base64"),
    subfolder: 'firebase'
}

这是功能部门:

  "dependencies": {
    "firebase-admin": "^6.4.0",
    "firebase-functions": "^2.1.0",
    "fs-extra": "^7.0.0",
    "googleapis": "^36.0.0",
  },
于 2018-12-29T01:55:51.720 回答