`
hanbaohong
  • 浏览: 417570 次
  • 性别: 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

 

 

分享到:
评论

相关推荐

    微信企业号接口开发源码

    微信企业号接口开发源码是针对微信企业号平台进行应用程序开发的重要参考资料,它包含了实现微信企业号各项功能的代码示例和实现逻辑。微信企业号是微信为企业用户提供的内部沟通和管理工具,允许企业构建自己的工作...

    微信企业号开发接口

    微信企业号支持向用户发送消息,如文本、图片、视频等。同时,当用户与企业号互动时(如点击菜单、关注等),会产生相应的事件,开发者需要编写代码来接收并处理这些事件。 8. **测试与调试**: 在开发过程中,...

    微信企业号开发php完整回调版

    当微信服务器接收到用户的消息或事件后,会将这些信息发送到开发者设定的回调URL,开发者需要在这个URL上编写代码来处理这些消息。 6. **自动回复**:通过监听回调事件,可以实现自动回复功能。例如,当用户发送...

    微信企业号开发SDK

    这个文件很可能是SDK的核心类库,包含了与微信企业号API交互的关键代码。在PHP中,类通常用来组织和封装相关的功能,这里的`QyWechat`类可能包含了一系列方法,如登录验证、消息发送、事件处理、用户管理、部门管理...

    基于PHP的动酷微信企业号php版源码.zip

    【标题】"基于PHP的动酷微信企业号php版源码.zip" 提供的是一个用于开发微信企业号应用的PHP源代码。微信企业号是一种面向企业的通讯和协作平台,允许企业内部或与合作伙伴进行消息传递、流程自动化和数据管理。这个...

    PHP实例开发源码-动酷微信企业号源码 php版.zip

    例如,当用户关注企业号时,PHP代码会接收到微信服务器的推送事件,并根据事件类型做出响应,如发送欢迎消息。 源码中的"使用须知.txt"文件是关键,它通常包含项目运行的环境配置、依赖库安装、数据库连接信息等...

    微信企业号回调模式例子

    微信企业号是微信为企业用户提供的一个平台,它允许企业与员工、客户以及合作伙伴进行...通过学习和实践这些例子,开发者可以更熟练地掌握微信企业号的API调用、事件处理和消息回复,从而创建出满足企业需求的应用。

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

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

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

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

    微信开发工具包(微信服务号+微信企业号+微信小程序+微信支付+支付宝支付)

    微信开发工具包(微信服务号+微信企业号+微信小程序+微信支付+支付宝支付)。运行最底要求 PHP 版本 5.4 , 建议在 PHP7 上运行以获取最佳性能;目前 WeChatDeveloper 针对 access_token 失效增加了自动刷新机制;...

    基于php的ThinkPhp3.2.3框架开发的微信企业号后台管理系统.zip

    通过阅读和理解这些源码,可以学习到ThinkPhp框架的实际应用和微信企业号接口的调用方法。 7. **毕业设计与课程设计**:作为毕业设计或课程设计项目,这个系统展示了实际项目开发的过程,包括需求分析、系统设计、...

    新微信开发工具包(微信服务号+微信企业号+微信小程序+微信支付+支付宝支付)

    【新】微信开发工具包(微信服务号+微信企业号+微信小程序+微信支付+支付宝支付)。WeChatDeveloper 是基于 wechat-php-sdk 重构,优化并完善;运行最底要求 PHP 版本 5.4 , 建议在 PHP7 上运行以获取最佳性能;目前...

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

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

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

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

    phpToQyWeixin类库.zip

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

    微信开发工具包(微信服务号+微信企业号+微信小程序+微信支付+支付宝支付)微信小程序,服务端接口支持 微信认证服务号,服务端接口

    WeChatDeveloper 是基于 wechat-php-sdk 重构,优化并完善;运行最底要求 PHP 版本 5.4 , 建议在 PHP7 上运行以获取最佳性能;...微信商户已经支持 v2 和 v3 接口,未加入的接口可以使用通用方式调用。

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

    此接口用于验证服务器的URL是否已被微信企业号官方正确设置。在企业微信的配置中,需要将服务器的回调URL提交给微信,微信会发送一个GET请求到这个URL进行验证。通过调用WXBizMsgCrypt的VerifyURL函数,开发者可以...

    php实现微信企业号支付个人的方法详解

    微信企业号支付是一种面向企业及组织用户,提供内部员工或成员的支付能力。它可以让企业或组织在内部系统中实现与微信支付平台的对接,完成各类支付操作。PHP作为常用的服务器端编程语言,广泛用于网站后台的开发。...

    PHP微信企业号开发之回调模式开启与用法示例

    在PHP微信企业号开发中,回调模式是一种关键的交互方式,它使得企业号能够实时接收并处理微信服务器发送的消息和事件。回调模式的开启和使用是确保企业号正常运行和功能实现的重要步骤。 首先,回调模式是基于HTTP...

    Laravel开发-wechat-ent

    最后,微信企业号提供了丰富的API接口,如发送消息、创建自定义菜单、管理成员等。你可以利用 Laravel 的 Eloquent ORM 或者其他 HTTP 客户端库,结合开发包提供的接口,轻松调用微信API。 总的来说,`Laravel开发-...

Global site tag (gtag.js) - Google Analytics