发送了正确的JPush json却报1002

1002
error
标签: #<Tag:0x00007fb83ff21350> #<Tag:0x00007fb83ff211e8>

#1

问题描述:调用jPushClient.sendPush前将PushPayload转换成JSON串打印到日志上,检查日志上的JSON发现没有错误,但是response返回报{“error”: {“message”: “Missing parameter”, “code”: 1002}}, jpush发送失败。我希望能够得到JPUSH收到的JSON串和可能的解决方案。

JSON串: {“platform”:“all”,“audience”:{“registration_id”:[“100d855909467fe8ff4”]},“notification”:{“android”:{“alert”:“您的193.64元提现申请已提交成功”,“extras”:{“jumpTo”:“13”},“builder_id”:2},“ios”:{“alert”:“您的193.64元提现申请已提交成功”,“extras”:{“jumpTo”:“13”},“badge”:“0”,“sound”:""}},“options”:{“sendno”:1322472827,“apns_production”:true}}
时间点:[2016-11-29 22:23:55.579 CST]
appKey:78d62eae2bba85e7c08ef7f5


#2

这个问题你先参考社区已有的1002问题

https://community.jiguang.cn/search?q=1002

有多种小问题会导致,你一一对应排查下看看


#3

我将日志中的JSON串在DEV环境中调用jPushClient.sendPush测试是没有问题的,但是在PROD环境中会出现失败,怀疑是PROD环境中有的代码改变了JSON串,可能是https://community.jiguang.cn/t/topic/3436/3 这个帖子里的情况,所以希望官方在后台帮我查下JPUSH收到的JSON,看看是不是这方面的原因。


#4

你提供一下详细具体的信息

请提供请求的json、appkey和时间点


#5

JSON串: {“platform”:“all”,“audience”:{“registration_id”:[“100d855909467fe8ff4”]},“notification”:{“android”:{“alert”:“您的193.64元提现申请已提交成功”,“extras”:{“jumpTo”:“13”},“builder_id”:2},“ios”:{“alert”:“您的193.64元提现申请已提交成功”,“extras”:{“jumpTo”:“13”},“badge”:“0”,“sound”:""}},“options”:{“sendno”:1322472827,“apns_production”:true}}

appKey:78d62eae2bba85e7c08ef7f5

时间点:[2016-11-29 22:23:55.579 CST]


#6

1002一般都是非法json串,这边先向你确认下是不是在json外侧包了引号。
之前有很多用户都是这种情况。


#7

我查了下日志,JPUSH提供的Jar包里的NativeHttpClient._doRequest方法中的
LOG.debug(“Request Content - " + content);
这条语句打印的debug日志如下:
Request Content - {“platform”:“all”,“audience”:{“registration_id”:[“100d855909467fe8ff4”]},“notification”:{“android”:{“alert”:“您的193.64元提现申请已提交成功”,“extras”:{“jumpTo”:“13”},“builder_id”:2},“ios”:{“alert”:“您的193.64元提现申请已提交成功”,“extras”:{“jumpTo”:“13”},“badge”:“0”,“sound”:”"}},“options”:{“sendno”:1322472827,“apns_production”:true}}

json串外侧并没有包引号。
麻烦还是查下后台看看JPUSH接受到的json是什么。


#8

1002问题,我们这边根据你提供的参数,没有重现
你提供的可能不是实际日志。

你这边从请求开始,直到出现1002的完整日志,原本的样子提供,让我们分析一下

我们也会继续测试,看看是不是随机bug


#9

可能是我前边提供的信息有误,现在提供相关所有日志:

[DEBUG] [2016-11-29 22:23:55.578 CST] MobileAppJPushClient:133  requestId=21fad8a5bfd347a1bd2af93bf782cfee userId=umPayAnonymous - request:238:{"platform":"all","audience":{"registration_id":["100d855909467fe8ff4"]},"notification":{"android":{"alert":"您的193.64元提现申请已提交成功","extras":{"jumpTo":"13"},"builder_id":2},"ios":{"alert":"您的193.64元提现申请已提交成功","extras":{"jumpTo":"13"},"badge":"0","sound":""}},"options":{"sendno":1322472827,"apns_production":true}} begin    
 //这条日志是我们调用你们借口前打印的

[DEBUG] [2016-11-29 22:23:55.579 CST] NativeHttpClient:122  requestId=21fad8a5bfd347a1bd2af93bf782cfee userId=umPayAnonymous - Request Content - {"platform":"all","audience":{"registration_id":["100d855909467fe8ff4"]},"notification":{"android":{"alert":"您的193.64元提现申请已提交成功","extras":{"jumpTo":"13"},"builder_id":2},"ios":{"alert":"您的193.64元提现申请已提交成功","extras":{"jumpTo":"13"},"badge":"0","sound":""}},"options":{"sendno":1322472827,"apns_production":true}}
[DEBUG] [2016-11-29 22:23:55.579 CST] NativeHttpClient:120  requestId=21fad8a5bfd347a1bd2af93bf782cfee userId=umPayAnonymous - Send request - POST https://api.jpush.cn/v3/push
[DEBUG] [2016-11-29 22:23:55.808 CST] ResponseWrapper:36  requestId=21fad8a5bfd347a1bd2af93bf782cfee userId=umPayAnonymous - JPush API Rate Limiting params - quota:600, remaining:599, reset:60
[ERROR] [2016-11-29 22:23:55.812 CST] NativeHttpClient:201  requestId=21fad8a5bfd347a1bd2af93bf782cfee userId=umPayAnonymous - Your request params is invalid. Please check them according to error message.
[ERROR] [2016-11-29 22:23:55.812 CST] NativeHttpClient:201  requestId=21fad8a5bfd347a1bd2af93bf782cfee userId=umPayAnonymous - Your request params is invalid. Please check them according to error message.
[ WARN] [2016-11-29 22:23:55.812 CST] NativeHttpClient:197  requestId=21fad8a5bfd347a1bd2af93bf782cfee userId=umPayAnonymous - Got error response - responseCode:400, responseContent:{"error": {"message": "Missing parameter", "code": 1002}}
[DEBUG] [2016-11-29 22:23:55.813 CST] MobileAppJPushClient:138  requestId=21fad8a5bfd347a1bd2af93bf782cfee userId=umPayAnonymous - response:238:{"error": {"message": "Missing parameter", "code": 1002}}      
//这条日志是我们调用Jpush接口后catch中打印的日志

#10

APP Key重新粘一下:78d62eae2bba85e7c08ef7f5


#11

我们这边后台查,platform或audience为空,你没有把payload带上来

你直接就用我们example试试?我们用你的数据也没有复现,怀疑你的代码哪里有问题
出现1002错误的总结:


#12

这边我们估计原因是client发送后中途被哪里的代码改掉了,导致JSON出现错误,最后根据Jpush客户端源码自己写了一个client,自己拼装JSON用curl发送过去,目前是好用的。多谢官方支持。


#13

ok :blush: