`
hanbaohong
  • 浏览: 387488 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

调用微信企业号接口发送通知信息的PHP代码

 
阅读更多

我在研究用PHP调用微信企业号接口发送通知信息时,遇到了一个问题,就是汉字编码的问题。在用POST提交的数据如果是用数组型时,要先用json_encode将数组型数据转成josn字串,但数据中如果有汉字就会出现问题:json_encode不能序列化GB2312编码的汉字,若是UTF-8编码的汉字在用json_encode转换后也成了无法识别的乱码,微信企业号的接口也无法接收这些乱码。该怎么办呢?经过反复研究、反复调试终于找出了两种方法:

第一种方法(数组型数据):

1、将页面代码转存成UTF-8编码;

2、用urlencode将汉字编码;

 

3、用json_encode将数组型数据转成josn字串

4、用urldecode将josn字串型数据解码;

5、再将解码后的josn字串型数据发送给微信企业号接口即可。

 

第二种方法(字串型数据):

1、将页面代码转存成UTF-8编码;

2、将要传递的POST数据用字串拼接的型连接起来;

3、再将拼接好的字串型数据发送给微信企业号接口即可。

 

为了代码简单,我用了第二种方法,代码如下:

 

<?php
function curlPost($url,$data=""){   
    $ch = curl_init();
    $opt = array(
			CURLOPT_URL     => $url,            
            CURLOPT_HEADER  => 0,
			CURLOPT_POST    => 1,
            CURLOPT_POSTFIELDS      => $data,
            CURLOPT_RETURNTRANSFER  => 1,
            CURLOPT_TIMEOUT         => 20
    );
    $ssl = substr($url,0,8) == "https://" ? TRUE : FALSE;
    if ($ssl){
        $opt[CURLOPT_SSL_VERIFYHOST] = 1;
        $opt[CURLOPT_SSL_VERIFYPEER] = FALSE;
    }
    curl_setopt_array($ch,$opt);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}
$corpid="请修改为你企业号的corpid";
$corpsecret="请修改为你企业号的corpsecret";
$Url="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid&corpsecret=$corpsecret";
$res = curlPost($Url);
$ACCESS_TOKEN=json_decode($res)->access_token;
$Url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$ACCESS_TOKEN";
$msg='要发送的文字信息';
$data="{\"touser\":\"要发给的用户ID\",\"msgtype\":\"text\",\"agentid\":你的应用ID,\"text\":{\"content\":\"$msg\"},\"safe\":0}";
$res = curlPost($Url,$data);
$errmsg=json_decode($res)->errmsg;
if($errmsg==="ok"){
	echo "发送成功!";
}else{
	echo "发送失败,".$errmsg;
}
?>

 

 

更多介绍:http://www.cnblogs.com/jisheng/archive/2012/02/13/2350040.html

 

 

分享到:
评论

相关推荐

    微信接口库:PHPToQyWeixin PHP调用企业微信API接口底层类库

    主要功能是完成了对微信企业号API的封装,目前还在不断完善中,通过调用本项目的类库和函数,可以实现调用微信企业号API,降低了开发成本,开发者可以不用再自己动手去编写底层代码,且本项目在token的获取和使用...

    微信接口库:PHPToQyWeixin PHP调用企业微信API接口底层类库.zip

    主要功能是完成了对微信企业号API的封装,目前还在不断完善中,通过调用本项目的类库和函数,可以实现调用微信企业号API,降低了开发成本,开发者可以不用再自己动手去编写底层代码,且本项目在token的获取和使用...

    微信企业号/公众号 PHP-SDK 官方API接口类库

    集成了官方API接口的工具类,实例化Wechat后,调用相应方法即可,支持企业号和公众号的网页版开发 PS: 企业号与公众号切换过程中,需修改对应的接口请求地址,即常量API_URL_PREFIX,对应修改如下: 企业号: ...

    微信企业号回调模式php(demo)

    在回调模式下,企业不仅可以主动调用企业号接口,还可以接收用户的消息或事件。当你开启应用的回调模式时,企业号会要求你填写应用的URL、Token、EncodingAESKey三个参数。 此源码为自用已验证源码。供参考。

    phpToQyWeixin类库.zip

    主要功能是完成了对微信企业号API的封装,目前还在不断完善中,通过调用本项目的类库和函数,可以实现调用微信企业号API,降低了开发成本,开发者可以不用再自己动手去编写底层代码,且本项目在token的获取和使用...

    易语言 企业微信 WXBizMsgCrypt 类函数调用例程.VerifyURL, DecryptMsg, EncryptMsg三个接口

    易语言 企业微信 WXBizMsgCrypt 类函数调用例程.VerifyURL, DecryptMsg, EncryptMsg三个接口

    PHP微信JSSDK标准调用DEMO160416

    配置这两个地方就可以了! //1.在index.php中第3行设置JSSDK参数.......企业号填权限管理中的CorpID和Secret 订阅号和服务号填...微信webApp调用JSSDK需要设置可以可信域名,然后将这个demo上传的可信域名就可以使用了!

    微信公众平台与小程序开发 从零搭建整套系统.part2

    3.4 接口权限及调用频率 33 3.5 微信网页开发样式库 35 3.6 小结 37 第4章 常用调试方法及工具 4.1 微信测试号 38 4.2 接口在线调试 41 4.3 微信Web开发者工具 42 4.3.1 微信网页授权调试 43 4.3.2...

    微信公众平台与小程序开发 从零搭建整套系统.part1

    3.4 接口权限及调用频率 33 3.5 微信网页开发样式库 35 3.6 小结 37 第4章 常用调试方法及工具 4.1 微信测试号 38 4.2 接口在线调试 41 4.3 微信Web开发者工具 42 4.3.1 微信网页授权调试 43 4.3.2...

    微信公众平台搭建与开发揭秘(第2版)

    本书主要内容有微信公众平台介绍、订阅号的开发、地理位置应用、API 调用、数据库操作、微网站搭建、缓存处理、服务号多客服功能使用、企业号开发、第三方接口等,涵盖微信公众平台开发的各种基础应用。本书在编写...

Global site tag (gtag.js) - Google Analytics