/// <summary> /// 新增传感数据 /// </summary> /// <param name="deviceId"></param> /// <returns></returns> public ResultMsg <Result> AddDatasOfSensors(SensorDataListAddBaseDTO data, int deviceId, string token = null) { var result = new ResultMsg <Result>(); //验证 var vry = PrimaryKeyVerify(deviceId, ref token); if (!vry.IsSuccess()) { vry.CopyTo(result); return(result); } //1、先定义该API接口路径,可以从http://api.nlecloud.com/页面的得知 String apiPath = String.Format("{0}/{1}", mApiHost, NLECloudAPIUrl.DatasOfSensorUrl); //2、根据该API接口的请求参数中 得知需要创建个URI Parameters String类型参数,所以该参数直接跟在apiPath中 apiPath = apiPath.Replace("{deviceid}", deviceId.ToString());//将API地址中的{projectid}替换成真实项目ID //3、由于调用该API需要Token,所以我们定义了一个通用的对象HttpReqEntity,在AccessToken当成头部请求信息提交过去 HttpReqEntity req = new HttpReqEntity(); req.Method = HttpMethod.POST; req.Datas = JsonFormatter.Serialize(data); req.Headers.Add("AccessToken", token); //4、定义该API接口返回的对象 result = RequestAPIHelper.RequestServer <HttpReqEntity>(apiPath, req); return(result); }
public ResultMsg <Result> AddDatasOfSensors() { int deviceId = 6633; SensorDataAddDTO sensorData1 = new SensorDataAddDTO(); sensorData1.ApiTag = "temperature"; sensorData1.PointDTO = new List <SensorDataPointDTO>() { new SensorDataPointDTO() { Value = 30 }, new SensorDataPointDTO() { Value = 55 } }; SensorDataAddDTO sensorData2 = new SensorDataAddDTO(); sensorData1.ApiTag = "binary"; sensorData1.PointDTO = new List <SensorDataPointDTO>() { new SensorDataPointDTO() { Value = System.Text.Encoding.UTF8.GetBytes("asdadasd") } }; SensorDataListAddBaseDTO s = new SensorDataListAddBaseDTO(); s.DatasDTO = new List <SensorDataAddDTO>() { sensorData1, sensorData2 }; ResultMsg <Result> opResult = SDK.AddDatasOfSensors(s, deviceId, this.Token); return(opResult); }