【问题标题】:Watson IoT HTTP Messaging APIWatson IoT HTTP 消息传递 API
【发布时间】:2017-04-04 22:46:21
【问题描述】:

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

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

用户名:a-XYXYX-bvbcxgmz6d

密码:XYXYX+6QY6OKw*J

内容类型:application/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 应用程序。 已经没有想法了,请帮忙!

【问题讨论】:

    标签: ibm-cloud watson-iot


    【解决方案1】:

    您好,我知道为什么它对我不起作用。

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

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

    但感谢您的帮助!

    【讨论】:

      【解决方案2】:

      看起来不错,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}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-05
        • 1970-01-01
        • 2011-05-31
        • 2016-10-10
        相关资源
        最近更新 更多