一封传话聚合推送各语言demo代码示例
前言
查看一封传话的API文档的GET请求只需一行代码,在url上拼接head和body参数即可完成推送。这里针对body数据量较大的情况,给出各语言实现的demo代码。
Tips:以下代码中的trigger与API文档中的send等价,trigger在send基础上做了高级特性增强处理,可以参考:一封传话聚合推送高级特性API
任何使用者都可以随意选择调用任何一个API,在API的使用方式上没有差异。
PHP语言
<?php
// 通道码/口令码
$channel_code = "4d2dac865118761a14d10d7d3afe7c35";
$head = "测试标题";
$body = "测试内容";
$postdata = json_encode(
array(
'head' => $head,
'body' => $body
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/json',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$api_url = 'https://www.phprm.com/services/push/trigger/'.$channel_code;
$result = file_get_contents($api_url, false, $context);
echo $result;
如果你更倾向于使用curl库, 完全可以自己实现或者参考以下开源的三方库里的curl代码。
一些开源的三方库
- 如果希望使用专业推送库, 可以参考此开源项目, 【一封传话】聚合推送SDK已经提交到Github和Gitee,通过composer可以直接安装SDK:
- 提供博客系统新注册用户、新评论提醒插件, 可以参考插件源码或者直接在自己的网站使用:
-
WordPress插件: https://github.com/teakong/wordpress-tixing 或者 https://gitee.com/teakong/wordpress-tixing
-
Typecho插件: https://gitee.com/teakong/wordpress-tixing 或者 https://gitee.com/teakong/TypechoTixing
-
其他博客或网站插件: https://github.com/teakong/liuyan-weixin 或者 https://gitee.com/teakong/liuyan-weixin
JAVA语言
建议使用Guava自带限流工具类, 例如10秒告警一次防止大量请求消耗你自己的服务器,如果使用redis分布式限流更好,这里还用到了Hutool工具包下的http请求类。
Hutool官网说明文档: https://hutool.cn/docs/#/ <