首页 > 名字大全 > 微信名字 正文
【微信名字wid】向PHP public编号开发用户发送微信消息通知功能

时间:2023-02-26 03:20:41 阅读: 评论: 作者:佚名

最近创建的项目,用户在资金汇款或成员更改时需要发送微信消息。(David Assell,Northern Exposure,Finorture)本想对此使用模板消息,但刚刚注册的公众号申请消息模板需要几天时间,时间不足时选择了客服消息界面,微信文档地址3360。

这里跳过网页审批和用户信息收集,跳过请求界面的步骤,主要检查是否对获取access_token、发布客户服务消息、公众号等界面感兴趣。

1。获取access_token。

//access导入_ token

public function getaccesstoken($ weid){

$ $ appID=' wxfaddfdfd 6 cf 6 fc 3569 6 fc 3569 '//产品服务编号appID

$ appsecret=' 071 bebfdfdofdfd 23687 BF 53d 63a '//产品服务编号appSerect

$ URL='appid=$ appid secret=$ appSecret '

$ content=ihttp _ get($ URL);//用户定义的请求函数

If(is_error($content)) {

return error(“-1”,“获取微信公共号授权失败”)。请稍后再试!错误详细信息:’.$ content[' message ']);

}

If (empty ($ content ['content']) {

return error(“-1”,“AccessToken导入失败”)。请确保appid和appsecret值与微信公共平台相匹配!’);

}

$ token=@ JSON _ decode($ content[' content '],true);

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

Returnerror (-1,$ this-error code($ token[' err code '],$ token[' err msg ']));

}

If(empty($token) ||!is _ array($ token)| | empty($ token[' access _ token '])| | empty($ token[' exppty ')

$ error info=substr($ content[' meta '],strpos ($ content ['meta'],' { '));

$ error info=@ JSON _ decode($ error info,true);

return error(“-1”,“获取微信公共号授权失败”)。请稍后再试!公共平台包含原始数据:错误代码-'$ error info[' error code '].错误消息-'$ errorinfo ['errmsg'])。

}

$ record=array();

$ record[' token ']=$ token[' access _ token '];

$ record[' expire ']=timestamp $ token[' expires _ in ']-200;

$ cache key=cache _ system _ key(' access token 'array(' acid '=$ weid));

Cache_write($cachekey,$ record);

return $ record[' token '];

}

2.判断是否关注公众号。

//确定当前用户是否对公共编号感兴趣

public public function is subscribe($ weid、$ userid) {

//获取当前用户信息

$ user info=PDO _ get(' HC face _ users 'array(' uid '=$ userid));

//return $ user info;

If(empty($userinfo)) {

Return false

}

//access导入_ token

$ accesstoken=$ this-getaccesstoken($ weid);

//您对界面感兴趣吗

$ URL='$ access token . 'OpenID='$ userinfo ['OpenID']. 'lang=zh _ cn '

$ RES=ihttp _ request($ URL);

If(is_error($res)) {

Return false

}

If ($ RES ['代码'])!='200') {

Return false

}

$ result=@ JSON _ decode ($ RES [“内容”],true);

If($result['subscribe']==1) {

$ updateData=[];

//确定当前用户头像和昵称是否已更换

If($userinfo['avatar'])!=$result['headimgurl']) {

$ updatedata[' avatar ']=$ result[' headim gurl '];

}

If($userinfo['nickname'])!=$result['nickname']) {

$ updatedata[' avatar ']=$ result[' nickname '];

}

If(!empty($ updateData){

Pdo _ update ('hcface _ users '$ updatedata,array(' uid '=$ userid));

}

}

$userInfoData=[

subscribe '=$ result[' subscribe '],

user _ OpenID '=$ user info[' OpenID '],

' nickname '=$ user info[' nickname '],

];

Return $ userInfoData

}

3.发送客户服务信息。

public function solpushmsg($ OpenID、$ content、$ wid) {

//access导入_ token

$ accesstoken=$ this-getaccesstoken($ wid);

$data=array(

Touser'=$openID,//用户openID

Msgtype'='text '

文字'=[

内容'=$内容,//内容

],

);

$ URL='$ accessToken

$ RES=I http _ request ($ URL,JSON _ encode ($ data,JSON _ unescaped _ unicode));//json_unicode第二个参数必须导入。否则,消息可能会以unicode编码

If(is_error($res)) {

Return false

}

If ($ RES ['代码'])!='200') {

Return false

}

Return @ JSON _ decode ($ RES ['内容'],true);

}

微信接口返回数组。

5。实现效果。

公众号

  • 评论列表

发表评论: