PHP实现给用户发微信消息提醒功能.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PHP实现给用户发微信消息提醒功能

目录正文1.获取access_token2.判断是否关注3.发送客服消息4.微信接口返回的是一个数组5.实现效果

正文

以前有一个项目项目,当有用户有资金到账或者成员变动时需要给他发一条微信消息提示。针对这个,开始想使用模板消息,但是刚注册的公众号申请消息模板需要几天时间申请,在时间不足下选择了使用客服消息接口。

这里跳过网页授权和用户信息获取,请求接口的步骤,主要看获取access_token,发布客服消息,验证是否关注等等接口。

1.获取access_token

//获取access_token

publicfunctiongetAccessToken($weid){

$appID=wxfaddfdfdfd6cf6fc3569;//服务号appID

$appSecret=071bebfdfdofdfd23687bf53d63a;//服务号appSerect

$url=/cgi-bin/tokengrant_type=client_credentialamp;appid=$appIDamp;secret=$appSecret;

$content=ihttp_get($url);//自定义请求函数

if(is_error($content)){

returnerror(-1,获取微信公众号授权失败,请稍后重试!错误详情:.$content[message]);

if(empty($content[content])){

returnerror(-1,AccessToken获取失败,请检查appid和appsecret的值是否与微信公众平台一致!);

$token=@json_decode($content[content],true);

if($token[errcode]==40164){

returnerror(-1,$this-errorCode($token[errcode],$token[errmsg]));

if(empty($token)||!is_array($token)||empty($token[access_token])||empty($token[expires_in])){

$errorinfo=substr($content[meta],strpos($content[meta],{));

$errorinfo=@json_decode($errorinfo,true);

returnerror(-1,获取微信公众号授权失败,请稍后重试!公众平台返回原始数据为:错误代码-.$errorinfo[errcode].,错误信息-.$errorinfo[errmsg]);

$record=array();

$record[token]=$token[access_token];

$record[expire]=TIMESTAMP+$token[expires_in]-200;

$cachekey=cache_system_key(accesstoken,array(acid=$weid));

cache_write($cachekey,$record);

return$record[token];

}

2.判断是否关注

//判断当前用户是否关注公众号

publicpublicfunctionisSubscribe($weid,$userid){

//获取当前用户信息

$userinfo=pdo_get(hcface_users,array(uid=$userid));

//return$userinfo;

if(empty($userinfo)){

returnfalse;

//获取access_token

$accessToken=$this-getAccessToken($weid);

//是否关注接口

$url=/cgi-bin/user/infoaccess_token=.$accessToken.openid=.$userinfo[openid].lang=zh_CN;

$res=ihttp_request($url);

if(is_error($res)){

ret

文档评论(0)

152****2426 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档