利用百度云和微信定时给女朋友推送专属浪漫消息
文章目录
一、注册百度云账号
1.搜索云函数
2.立即体验
3.创建函数
4.选择模板
5.进入代码编辑页
6.可以自定义文字,也可以留空
二、注册易客云
1.复制自己的易客云appid和 appsecret 换成自己的appid、appsecret、城市
三、微信公众号测试平台
1.复制微信公众号测试号的appID和appsecret到php代码里进行替换(单引号不能丢)
2.创建模板消息
3.填写好标题后提交
4.将模板id复制到代码里
5.然后让你女朋友关注这个微信公众号测试号,获取她的微信号,然后复制到代码里
6.修改为自己日期
7.代码修改完保存 测试 执行
8.测试成功
四、定时运行php 一、注册百度云账号
地址:https://login.bce.baidu.com/?redirect=https%3A%2F%2Fconsole.bce.baidu.com%2Fcfc%2F%3F_%3D1661492571497#/cfc/functions
1.搜索云函数
2.立即体验
3.创建函数
4.选择模板
空白函数,函数名称自定义,运行时选 PHP7.2(其他默认),下一步,提交。
5.进入代码编辑页
<?php $appId = "abcdefgh"; //对应自己的appId $appSecret = "abcdefgh "; //对应自己的appSecret $wxgzhurl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appId . "&secret=" . $appSecret; $access_token_Arr = https_request($wxgzhurl); $access_token = json_decode($access_token_Arr, true); $ACCESS_TOKEN = $access_token["access_token"]; //ACCESS_TOKEN // 什么时候恋爱的(格式别错) $lovestart = strtotime("2022-06-16"); $end = time(); $love = ceil(($end - $lovestart) / 86400); //Z 下一个生日是哪一天(格式别错) $birthdaystart = strtotime("2023-02-24"); $end = time(); $diff_days = ($birthdaystart - $end); $Zbirthday = (int)($diff_days/86400); $Zbirthday = str_replace("-", "", $Zbirthday); // C下一个生日是哪一天(格式别错) $birthdaystart = strtotime("2023-04-19"); $end = time(); $diff_days = ($birthdaystart - $end); $birthday = (int)($diff_days/86400); $birthday = str_replace("-", "", $birthday); $tianqiurl = "https://v0.yiketianqi.com/api?unescape=1&version=v63&language=zh&city=兰州&appid=111111&appsecret=1111111"; //修改为自己的 $tianqiapi = https_request($tianqiurl); $tianqi = json_decode($tianqiapi, true); $qinghuaqiurl = "https://api.youguo56.com/api/chp/"; $qinghuaapi = https_request($qinghuaqiurl); $qinghua = json_decode($qinghuaapi, true); // 你自己的一句话 $yjh = "Z_C恋爱日记"; //可以留空 也可以写上一句 $touser = "abcdefgh "; //这个填你女朋友的openid $data = array( "touser" => $touser, "template_id" => "abcdefgh ", //改成自己的模板id,在微信后台模板消息里查看 "data" => array( "first" => array( "value" => $yjh, "color" => " #FFB6C1" ), "keyword1" => array( "value" => $tianqi["date"], //日期 "color" => "#1E90FF" ), "keyword10" => array( "value" => $tianqi["week"],//星期 "color" => "#1E90FF" ), "keyword11" => array( "value" => $tianqi["update_time"],//时间 "color" => "#1E90FF" ), "keyword2" => array( "value" => $tianqi["city"],//城市 "color" => "#DC143C" ), "keyword20" => array( "value" => $tianqi["country"],//国家 "color" => "#DC143C" ), "keyword3" => array( "value" => $tianqi["wea"],//今日天气 "color" => "#6495ED" ), "keyword30" => array( "value" => $tianqi["win"],//风 "color" => "#6495ED" ), "keyword4" => array( "value" => $tianqi["hours"]["0"]["wea"],//现在天气 "color" => "#4169E1" ), "keyword40" => array( "value" => $tianqi["hours"]["0"]["win"],//现在风 "color" => "#4169E1" ), "keyword5" => array( "value" => $tianqi["tem1"],//高温 "color" => "#FF7F50" ), "keyword50" => array( "value" => $tianqi["tem2"],//低温 "color" => "#AFEEEE" ), "keyword6" => array( "value" => $tianqi["sunrise"],//日出 "color" => "#FFDEAD" ), "keyword60" => array( "value" => $tianqi["sunset"],//日落 "color" => "#FFA500" ), "keyword7" => array( "value" => $love . "天", "color" => "#FA8072" ), "keyword8" => array( "value" => $Zbirthday . "天", "color" => "#F5DEB3" ), "keyword80" => array( "value" => $birthday . "天", "color" => "#F5DEB3" ), "keyword9" => array( "value" => $tianqi["air_tips"],//小贴士 "color" => "#FFB6C1" ), "remark" => array( "value" => $qinghuaapi, "color" => "#6495ED" ), ) ); // 下面这些就不需要动了———————————————————————————————————————————————————————————————————————————————————————————— $json_data = json_encode($data); $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $ACCESS_TOKEN; $res = https_request($url, urldecode($json_data)); $res = json_decode($res, true); if ($res["errcode"] == 0 && $res["errcode"] == "ok") { echo "发送成功!
"; }else { echo "发送失败!请检查代码!!!
"; } function https_request($url, $data = null) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if (!empty($data)) { curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); curl_close($curl); return $output; } function handler($context) { # 啥都没有 就是为了填执行失败的坑 # return $ret; } 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531546.可以自定义文字,也可以留空
二、注册易客云
地址:http://www.yiketianqi.com/user/register
1.复制自己的易客云appid和 appsecret 换成自己的appid、appsecret、城市
三、微信公众号测试平台
注册地址: http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
1.复制微信公众号测试号的appID和appsecret到php代码里进行替换(单引号不能丢)
2.创建模板消息
将下面的代码复制到模板内容里
模板标题自定义(可以把这个心的表情复制上)❤ {{first.DATA}} 现在是{{keyword1.DATA}} {{keyword10.DATA}} {{keyword11.DATA}} 国家:{{keyword20.DATA }} 城市:{{keyword2.DATA}} 今日天气:{{keyword3.DATA}} {{keyword30.DATA}} 现在天气:{{keyword4.DATA}} {{keyword40.DATA}} 最高温度:{{keyword5.DATA}} ℃ 最低温度:{{keyword50.DATA}} ℃ 日出:{{keyword6.DATA}} 日落:{{keyword60.DATA}} 今天是我们在一起的第 {{keyword7.DATA}} 距离Z.jie的生日还有 {{keyword8.DATA}} 距离C.ying的生日还有 {{keyword80.DATA}} 小贴士:{{keyword9.DATA}} 每日一句: {{remark.DATA}} 12345678910111213141516
模板中的文字可以自定义修改,每一句括号后面的字段不要修改
3.填写好标题后提交
4.将模板id复制到代码里
5.然后让你女朋友关注这个微信公众号测试号,获取她的微信号,然后复制到代码里
6.修改为自己日期
这一次我设置了两个生日
7.代码修改完保存 测试 执行
8.测试成功
四、定时运行php
定时触发器以UTC时间运行,即北京时间减去8个小时
这里的计划表达式为 cron(0 23 * * ?)
每天下午的 23:00 (UTC) 触发;对应北京为每天早上07:00执行
开启定时触发器,这样就完成啦!