0

尝试使用适用于 Watson IoT 的 HTTP 消息传递 API。https://docs.internetofthings.ibmcloud.com/apis/swagger/v0002/http-messaging.html

我有一个应用程序应该从设备发布 Mqtt 消息。已在 Watson iot 中生成 API 密钥并将其放在 POST 标头中,例如:

用户名:a-XYXYX-bvbcxgmz6d

密码:XYXYX+6Q Y6OK w*J

内容类型:应用程序/json

然后,我发送此 POST 以在此帖子中更改我的真实 orgId:http://orgId.messaging.internetofthings.ibmcloud.com:1883/api/v0002/application/types/ecu/devices/ecu1/events/ test

但我一直以服务器响应 403 Not allowed 告终。

我使用之前成功使用过的 HTTP REST Chrome 应用程序。已经用完了想法,所以请帮忙!

4

2 回答 2

1

嗨,找出为什么它对我不起作用。

我忘记生成一个 Base64 密钥以添加到 Authorization: Basic 标头。我只是将用户名和密码作为变量放在标题中。

我认为在 Cloudant 文档中如何做到这一点更清楚: https ://console.ng.bluemix.net/docs/services/Cloudant/api/authentication.html#basic-authentication 然后在 Watson IoT 平台文档中。

但是谢谢你的帮助!

于 2017-04-04T14:46:21.857 回答
0

它看起来不错,POST 对我有用。我假设您已经仔细检查了设备类型/设备 ID - 它们实际上存在于平台中。也许事件本身有一些无效的东西把它搞砸了。这是我发送的:

  POST /api/v0002/application/types/myType/devices/myDevice/events/test 

    HTTP/1.1 Host: myOrg.messaging.internetofthings.ibmcloud.com:1883 

    Authorization: Basic myAPIKeys 

    Content-Type: application/json

身体是:

{"temp":85}
于 2017-04-03T07:46:45.607 回答