文档开发者中心
我的

Push SDK-服务端Http请求示例

使用http请求发送Push消息,一般处理办法


一.处理注意点
    注意所有的值需要进行UrlEncode
   
    android结构体参考PushSDK开发指导书
    每次发送推送消息的请求必须含有以下3个参数:
      1.nsp_svc:需调用的接口
      2.access_token:使用OAuth2进行鉴权时的AccessToken
      3.nsp_ts:服务请求时间戳,自GMT 时间 1970-1-1 0:0:0至今的秒数。PHP中,通过time()函数获取。 如果传入的时间与 服务器时间相差5分钟以上,服务器可能会拒绝请求。
    具体可以参考:  title=%E8%B0%83%E7%94%A8%E8%A7%84%E8%8C%83


二.一般的错误码处理:
  1.无效对话(invalid session):
       (1)at过期,请重新获取;
       (2)at未经过UrlEncode;
       (3)at原文中转义字符未被识别,请删除反斜杠;

  2.错误的参数:一般参数格式是否正确;
  3.非法参数:检测Push业务相关参数是否正确,android结构体是否正确的进行UrlEncode


三.获取accessToken
  POST
  Content-Type: application/x-www-form-urlencoded
  grant_type=client_credentials&client_id=1*********32&client_secret=74c****************79ed
  -- response --
{"access_token":"B1epROJE**************************************************zSzpUKW1d\/IABcw8AyUz2eb","expires_in":604800}


四.发送自呈现消息
  POST
  Content-Type: application/x-www-form-urlencoded
push_type=1&access_token=B1esMzknRL********************************4evch7n47UkfERbwaHC&android=%7b%22notification_title%22%3a%22hello%22%2c%22notification_content+%22%3a%22hello%22%2c%22doings%22%3a1%7d&tokens=08680900263116****************001&nsp_svc=openpush.openapi.notification_send&nsp_ts=1470206498
  -- response --
"{\"result_code\":0,\"request_id\":\"147****************00000\"}"


五.发送透传消息
  POST
  Content-Type: application/x-www-form-urlencoded
push_type=1&access_token=B1esMzknRLldeCX********************************GMvGcbZ34evch7n47UkfERbwaHC&deviceToken=0868090****************2164000001&message=This message form huawei&priority=1&cacheMode=0&msgType=1&nsp_svc=openpush.message.single_send&nsp_ts=1470206498
  -- response --
{"message":"success","requestID":"147****************5537","resultcode":0}


点赞
收藏
1
回复
3
分享
举报
浏览6254 编辑于2016-11-11 08:56未知归属地
全部评论
最多点赞
最新发布
最早发布
占楼
3楼回复于2017-07-20 11:27 未知归属地
占楼
2楼回复于2017-07-14 14:19 未知归属地
一直返回{"error":"invalid session"},不知道怎么搞,后来发现是at的URLEncode问题
1楼编辑于2017-06-09 04:28 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。