数据上报相关问题

返回“ip not in whitelist”/“app_name not exist”错误是什么原因?

调用数据上报接口的服务器ip不在白名单里。设置IP白名单,请参考文档:设置IP白名单

返回“invalid appid”错误是什么原因?

原因可能是:
(1)上报的appid有误。
(2)数据放在请求的body中上报,但是http请求的header中,Content-Type不是“application/json”。
(3)上报的数据有异常,导致json解析失败,请尝试能否成功解析上报的json字符串。

返回“table content element should be dict”错误是什么原因?

上报的table_content的值有问题。table_content要求上报的是一个列表(list)的JSON字符串,列表的每一个元素要求是词典(dict)结构,存放需要上报的字段和值。例如:

返回“table_content cannot be json load ”错误是什么原因?

上报的table_content json字符串中含有异常字符,导致json解析失败,通常是数据中含有英文分号“;”,但数据没有经过url encode。建议直接使用数据上报接口文档 最后的代码进行上报。

返回“table not found”错误是什么原因?

上报数据中的table_name不合法,要求必须是指定的取值,详见数据上报接口文档

返回“table content not found”错误是什么原因?

原因可能有3个:
(1)提交的数据没有table_content字段。
(2)table_content格式不符合要求:table_content是一个列表(list)的JSON字符串。列表的每一个元素是一个词典(dict)格式的数据包,每个数据包必须包含“cmd”和“fields”两个字段。
(3)提交的table_content字段值有异常,导致json decode失败,请检查提交的table_content数据能否成功json decode。

返回“invalid content”错误是什么原因?

上报的数据记录缺少“cmd”或者“fields”字段。

数据上报http请求支持哪些Content-Type?

数据上报http请求必须以POST方式提交,必须是UTF8编码,Content-Type必须是“multipart/form-data”或者“application/json”。
(1)如果以“Content-Type: multipart/form-data”方式提交,数据需按照 key1=val1&key2=val2 的方式进行编码,val 需要进行 URL 转码,同时key为“table_content”字段的value需要进行json_encode。
(2)如果以“Content-Type: application/json”方式提交,需将所有数据放在一个json字典里并做json encode。

是否支持批量数据上报?

支持,table_content要求上报的是一个列表(list)的JSON字符串,列表的每一个元素是一条要上报的数据的词典。

上报数据后返回WARN 是什么问题?

返回“OK”是上报成功;返回“FAIL”是上报失败;返回“WARN”是警告的意思,数据中存在一些格式问题,但是数据是上报成功的,达观可以收到数据,所以,不必重复上报。

返回“should have one of userid, imei or cid”错误是什么原因?

userid、imei、cid必须要传一个,正常情况下,应该是能获取几个id就传几个id,上报数据中的用户信息需和请求url中用户信息保持一致。

返回“action time too old”错误是什么原因?

行为时间太老了,只需上报7天内的行为数据即可。