错误的400使用REST API到IBM WATSON IOT平台



我正在尝试使用REST API从嵌入式系统传输JSON格式的消息到IBM WATSON IOT平台。我已经使用另一个程序(Postman(测试了REST API,但是从嵌入式系统传输的一个相同的字符串返回错误400。是否有"额外"安全证书在嵌入式系统中需要"额外"安全证书来完成此工作?还是我缺少其他东西?

这是通讯的REST API的链接:https://docs.internetofthings.ibmcloud.com/apis/swagger/v0002/http-messaging.html

以下是我嵌入式系统(通过套接字连接(的字符串输出,其中正确输入了TypeID,DeviceID,EventName和Orgid,并Encode64(name token(是名称串联的正确授权字符串,并编辑了图sodedEncoded Encoded在base64中。

POST /api/v0002/device/types/typeID/devices/deviceID/events/eventName HTTP/1.1
Host: orgID.messaging.internetofthings.ibmcloud.com:80
Content-Type: application/json
Authorization: Basic encode64(name token)
{random JSON formatted message}

首先解决以下URI的IP地址:orgid.messaging.internetofthings.ibmcloud.com建立插座连接。然后使用标准套接字连接功能到IP地址和端口80。

当IoT Platorm API没有提及使用端口80时,我可以使用端口80通过Postman将JSON格式化消息传输到我的IoT平台。

我解决了我的问题。对于HTTP规范,我对马车返回和新的线字符的订购是不正确的。也就是说:" r n",而不是" n r"。一切现在都在起作用。

请求必须包括授权标题。基本身份验证是唯一支持的方法。通过使用API键来验证应用程序。当应用程序通过WATSON IOT平台HTTP REST API提出任何请求时,需要用户名和密码。

请参阅文档:https://console.ng.bluemix.net/docs/services/iot/applications/api.html#api

最新更新