搞了一个下午,发送通知终于成功了,分享一下

比客户端好多了,客户端都没有文档的。

将PHP  SDK下载后放到网站某目录

发送消息很简单的

$channel = new BaiduPush(self::APIKEY, self::SECRETKEY, array(

CURLOPT_TIMEOUT => 30,

CURLOPT_CONNECTTIMEOUT => 5

));

$return = $channel->pushMessage(3, '这是一条小气测试', 'msg_key', array(

'user_id'=>'xxxxx',

'channel_id'=>'xxxxx',

));

最难的是发送通知,文档中说

$messages参数可以是string,array 或 json string,实际上,你被坑了

官方文档:

//推送通知,必须指定MESSAGE_TYPE为1

$optional[Channel::MESSAGE_TYPE] = 1;

//通知必须按以下格式指定

$message = "{

'title': 'title',

'description': 'description'

}";

$message_key = "msg_key";

$ret = $channel->pushMessage ( $push_type, $message, $message_key, $optional );

上面所说的$message格式,相当于是一个字符串拼接格式,也就是伪json格式,因为json转码中,中文会进行处理,但是百度不会还原,所以程序会报错。

$channel = new BaiduPush(self::APIKEY, self::SECRETKEY, array(

CURLOPT_TIMEOUT => 30,

CURLOPT_CONNECTTIMEOUT => 5

));

$optional['user_id'] = 'xxxxxx';

$optional['channel_id'] = 'xxxxxx';

$optional['message_type'] = 1;

$message = "{'title': '测试','description': '这是一条通知测试'}";

$message_key = "msg_key";

$return = $channel->pushMessage(1, $message, $message_key, $optional);

if ( false === $return ){

echo ( 'WRONG, ' . __FUNCTION__ . ' ERROR!!!!
' );

echo ( 'ERROR NUMBER: ' . $channel->errno ( ) . '
' );

echo ( 'ERROR MESSAGE: ' . $channel->errmsg ( ) . '
' );

echo ( 'REQUEST ID: ' . $channel->getRequestId ( ) . '
' );

}else{

echo ( 'result: ' . print_r ( $return, true ) );

}

这里的字符串拼接必须是单引号,否则也会报错

user_id和channel_id都是客户端生成的

还可以自定义一些在百度云推送操作中心支持的操作,比如打开url等,详细文档地址:

php验证百度云doc,百度云推送通知埋的大大的坑,成功测试REST API for PHP服务端...相关推荐

  1. 向 iOS 设备发送推送通知

    向 iOS 设备发送推送通知 直接向 iOS 应用程序提供丰富的内容 Michael Yuan 2012 年 5 月 25 日发布 背景 SMS 和 MMS 消息是由无线运营商通过设备的电话号码向特定 ...

  2. iOS 推送通知及推送扩展

    概述 iOS中的通知包括本地推送通知和远程推送通知,两者在iOS系统中都可以通过弹出横幅的形式来提醒用户,点击横幅会打开应用.在iOS 10及之后版本的系统中,还支持通知扩展功能(UNNotifica ...

  3. iOS 推送通知详解

    这是一篇编译的文章,内容均出自Parse.com的iOS开发教程,同时作者还提供了视频讲解.本文将带领开发者一步一步向着iOS推送通知的深处探寻,掌握如何配置iOS推送通知的奥义. 介绍一点点背景资料 ...

  4. “iOS 推送通知”详解:从创建到设置到运行

    "iOS 推送通知"详解:从创建到设置到运行 转自 http://www.csdn.net/article/2012-02-18/311976 这是一篇编译的文章,内容均出自Par ...

  5. 快速集成推送通知功能---百度云推送

    发现百度云推送简直太好集成了,一下午时间都用不上就搞定了 先看效果吧 发送通知 接收通知 接下来就是步骤了 1.先去百度云推送开发者平台注册账号 http://push.baidu.com/ 然后创建 ...

  6. 小程序云开发之消息推送功能

    小程序云开发之消息推送功能(图文) 一:新建项目 APPID获取方法:1.在微信公众平台上注册账号,选择小程序(也可以从服务号注册,前提你有一个服务号)注册后登录,登录时微信扫码验证一下 2.填写小程 ...

  7. 织梦百度php主动推送代码示例,织梦百度php主动推送代码示例,亲试绝对成功!...

    织梦百度php主动推送代码示例,亲试绝对成功!废话不多说,直接上代码. 建议先在命名建立文件为baidu.php,代码如下自己修改 require_once ("include/common ...

  8. 微信早安,利用uniCloud阿里云的云函数实现定时推送

    最近比较火的微信早安,看了一下小红书 @猪咪不是猪的教程,也动手做了一下,并做了一下实现定时的优化与符合我自己需求的修改.由于本人并不很熟悉python,所以部分修改是基于教程源码做修改的,在此也感谢 ...

  9. android 极光 环信,环信、容联云通讯、极光推送和网易云信IM即时通讯功能接入方式_部署方式_企业服务汇...

    编者按:企业在挑选IM即时通讯功能服务商时,对于企业应当如何接入其IM功能.接入方式和部署方式有哪些等问题不太清楚.今天企业服务汇通过评测环信.容联云通讯.极光推送和网易云信这四家服务商来为你详细说明 ...

最新文章

  1. 一顿火锅钱+一台旧手机 = 自主导航机器人?
  2. RTFNet:基于可见光/红外图像的城市自动驾驶道路场景语义分割
  3. 浅析_tmain()与main()的区别
  4. 高速电路EDA设计第一次实验
  5. RDD之四:Value型Transformation算子
  6. flask的请求与响应
  7. [导入]屏蔽相应键盘按钮
  8. python uiautomator2 toast_Android自动化测试 - 获取toast提示(Appium+Python+UiAutomator2)
  9. android 播放器 直播,通过android中的mediaplayer直播
  10. UVA 10125 - Sumsets
  11. 不续签合同,凭什么要求别人紧急加班
  12. 翻译: 3.3. 线性回归的简明实现 pytorch
  13. MYSQL误删数据恢复
  14. python合并单元格出现:‘MergedCell‘ object attribute ‘value‘ is read-only 如何处理
  15. Racket 的诞生与发展
  16. BGP线路是什么意思?BGP双线的优点是什么?
  17. SV基础知识---功能覆盖率1 (概念理解)
  18. python画猫和老鼠代码_Python实现猫捉老鼠小游戏!虽然简陋但是童真永在!
  19. Windows 10安装Adobe XD出现白屏闪退问题
  20. Windows Server下独立根CA的安装及使用(超详细)

热门文章

  1. python web界面整合 tail_如何使用Python Tornado在HTTP上实现“ tail”?
  2. 多个线程访问统一对象的不同方法_不会多线程还想进BAT?精选19道多线程面试题,有答案边看边学...
  3. 电子计算机 俗称 它是一种具有,2013年计算机一级B试题模拟1
  4. java启动scrapy爬虫,爬虫入门之Scrapy 框架基础功能(九)详解
  5. db2数据备份到mysql_DB2数据库自动备份详解
  6. centos6.6安装hadoop-2.5.0(四、hadoop HA安装)
  7. ICG游戏:尼姆游戏异或解法的证明
  8. One-Page AlphaGo --十分钟看懂 AlphaGo 的核心算法!
  9. django from组件 实现增加 删除 编辑(推荐用法)
  10. 用java进行LDAP用户登陆(用户认证)及修改密码