微信企业号开发php版2-文本消息

返回用户发送的文本消息,修改sample.php

<?php
//企业号返回用户的文本消息,替换模板的sample.php
//@author 易伟
//@date 2014-12-13
//更改corpID,token和encodingAesKey
include_once "WXBizMsgCrypt.php";

$encodingAesKey = "H8Ycg6SOGJbrBlfpZlLXe5cREFdzZhts5S0ZjKsbQrV";
$token = "5rjINmS5M1fJa2I76GOs3qocL8CjMjm";
$corpId = "xxxx";

$wxcpt = new WXBizMsgCrypt($token, $encodingAesKey, $corpId);
$sReqMsgSig = $_GET["msg_signature"];
$sReqTimeStamp = $_GET["timestamp"];
$sReqNonce =$_GET["nonce"];
$sReqData = $GLOBALS["HTTP_RAW_POST_DATA"];
$sMsg = "";  // 解析之后的明文
$errCode = $wxcpt->DecryptMsg($sReqMsgSig, $sReqTimeStamp, $sReqNonce, $sReqData, $sMsg);
if ($errCode == 0) {	

    $postStr=$sMsg;
	//以下恢复为普通微信的操作
	$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
    $fromUsername = $postObj->FromUserName;
	$toUsername = $postObj->ToUserName;
	$content = trim($postObj->Content);
    $time = time();
    $textTpl = "<xml>
							<ToUserName><![CDATA[%s]]></ToUserName>
							<FromUserName><![CDATA[%s]]></FromUserName>
							<CreateTime>%s</CreateTime>
							<MsgType><![CDATA[text]]></MsgType>
							<Content><![CDATA[%s]]></Content>
							</xml>";
	$sRespData= sprintf($textTpl, $fromUsername, $toUsername, $time, $content);
	//加密输出
	$sEncryptMsg = ""; //xml格式的密文
$errCode = $wxcpt->EncryptMsg($sRespData, $sReqTimeStamp, $sReqNonce, $sEncryptMsg);
if ($errCode == 0) {

	echo $sEncryptMsg;

} else {
	print("ERR: " . $errCode . "\n\n");
	// exit(-1);
	}

} else {
	print("ERR: " . $errCode . "\n\n");
	//exit(-1);
}

?>
时间: 2024-08-15 11:09:48

微信企业号开发php版2-文本消息的相关文章

微信企业号开发php版1-接口验证

普通模式类似公众号的编辑模式,很简单不再介绍,回调模式类似开发模式,略有不同. 下载模板http://qydev.weixin.qq.com/php.zip 接口文件为sample.php进行如下修改,找到corpId,AK和token自己改写或用模板的.提交sample.php路径后,验证成功. <?php //更改第8行corpID,token和encodingAesKey可选用代码里的参数填写 include_once "WXBizMsgCrypt.php"; // 假设企

微信企业号开发:接收消息和事件

接收到的消息和事件,其实都是微信post到我们配置的URL的消息.接收普通消息就是用户给公众号发送的消息,事件是由于用户的特定操作,微信post给我们的消息.被动响应消息是我们收到微信post过来的普通消息或者是事件时,企业号通过Response.Write这种方式回复的消息. 核心代码: 把微信post过来的数据先解密,转为能处理的XML,再把XML转为对象 #region 将POST过来的数据转化成实体对象 /// <summary> /// 将微信POST过来的数据转化成实体对象 ///

[转载]微信企业号开发如何建立连接

连接将使你的企业号更具价值,你可以使用以下三种方式,连接你的企业号及企业应用: 1.企业应用调用企业号提供的接口,管理或查询企业号后台所管理的资源.或给成员发送消息等,以下称主动调用模式. 2.企业号把用户发送的消息或用户触发的事件推送给企业应用,由企业应用处理,以下称回调模式. 3.用户在微信中阅读企业应用下发的H5页面,该页面可以调用微信提供的原生接口,使用微信开放的终端能力,以下称JSAPI模式. 通过这三种连接方式的结合,你可以在企业号中建立功能强大的移动轻应用,并依托微信数亿活跃用户,

《微信企业号开发日志》本地调试程序四

这一节完成模拟微信回调发送消息!!! 先看效果图吧: 这个是模拟发送text文本消息的, 解析: 1.微信text文本最终是以2格式的xml文本post到我们的服务器接口的,1是对应xml各个字段值, 2.是最终需要post到我们服务器的xml明文 3.是将2中需要post到我们服务器的xml明文按照token,timestamp和nonce加密后的xml密文,(最终post到我们服务器的是这种经过加密后的xml,我们在接受接口中要先对其进行解密) 4.是将我们服务器中返回的xml明文展示出来

微信企业号开发之回调模式的接口开发

一.前言 微信企业号应用中,有两种模式,一种是普通模式,这种模式只能进行简单网页链接,以及发送固定的消息.为了可以让企业号的用户更好的与应用交互,微信提供了回调模式,这种回调模式的可以将用户发送给微信的信息,转发到用户提供的一个回调接口上,该接口解析用户发送过来的信息,解析后进行相应,而且回调模式中,可以调用的东西不少,扫码,图片,视频,地理位置信息等. 在应用的模式下,选择回调模式,之后,需要设置3个参数(1.回调接口URL:2.token:3.ASESKey),URL就是提供的回调接口,微信

Force.com微信企业号开发系列(一) - 启用二次验证

微信于9月份推出企业号后引起了业界不小的反响,许多企业都在思索企业号将如何影响企业的运营,从本文开始,我将详细阐述微信企业号开发的相关知识,而本文将着重介绍如何实现更高安全机制的二次验证. 申请企业体验号: 企业号顾名思义就是企业来申请的号,申请时就像申请服务号一样,需要提供各种组织证明文件,对广大开发者来说很难操作,好在腾讯公司也像服务号一样开通了体验号申请,留意企业体验号的有效期间非常短,只有90天(服务号测试账号有1年有效期),且如果企业体验号长期不使用还会收到腾讯公司的提前失效提醒邮件.

微信企业号开发之 企业号人员身份认证与开发

前言 这里完全可以链接一个登录页面,让用户输入用户名密码进行登录的...2333 但是,这样所就完全失去了微信企业号的意义,本来进入微信企业号的时候,就已经对人员身份进行认证了,你这里再让别人登录,不是显得多余么? 于是,需要考虑的是,如何获取微信企业号中用户的身份,以及将用户身份与自有系统进行关联. 一.建立企业应用并配置可信域名 在微信的管理界面里面,建立一个企业应用.建立的过程很简单,但是这里需要注意的是,建立完以后,一定要配置可信域名!!!!并且如果你不是使用的标准端口,一定也要把端口配

.net之微信企业号开发(二) 企业号人员身份认证与开发

前言 这里完全可以链接一个登录页面,让用户输入用户名密码进行登录的...2333 但是,这样所就完全失去了微信企业号的意义,本来进入微信企业号的时候,就已经对人员身份进行认证了,你这里再让别人登录,不是显得多余么? 于是,需要考虑的是,如何获取微信企业号中用户的身份,以及将用户身份与自有系统进行关联. 一.建立企业应用并配置可信域名 在微信的管理界面里面,建立一个企业应用.建立的过程很简单,但是这里需要注意的是,建立完以后,一定要配置可信域名!!!!并且如果你不是使用的标准端口,一定也要把端口配

微信企业号开发:微信考勤百度地图定位

之前在微信企业号开发:微信考勤中使用了百度地图的定位组件,但发现在部分手机上会出现定位失败的提示,于是有研究了一下百度地图.原来使用的Web组件百度不打算更新了,也是重新查了一下百度地图的其他API,还有一个JavaScript API大众版,于是试了试,没想到竟然解决了. 核心代码很简单: <div id="allmap"></div> <script type="text/javascript" src="http://a