开发微信公众平台接口参数调试-判断用户行为
程序员文章站
2022-05-21 20:37:39
...
微信开发的时候,发现有个重要的变量$postObj,获得了一个xml结构装入的对象里因为用户发来的事件,之前只知道用户发送一个消息,我进行处理.
今天要弄个用户订阅就给推送一个消息的功能,却发现不知道如何判断用户是订阅的操作,还是取消订阅,还是发消息,代码如下:
public function responseMsg() { global $db; //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); writeover("msg.txt",$postStr."rn","a+"); 。。。。。 }
发现$postStr是之前没有封装的字符串,直接打印,即可知道用户的行为了,测试输出的文件如下:
1394705044 5990212551746www.phprm.com353512
MsgType即可判断用户行为text表示用户输入了一条文本信息,如果是订阅,那么就是event 大家自己测试吧.
一个新用户关注公众账号发送的消息的例子,代码如下:
1394706271
这样就可以得到具体的事件类型了.
$msgtype = $postObj->MsgType;能判断用户的行为,后续的操作就方便多了.
附上写入日志文件的代码:
"r"只读方式打开,将文件指针指向文件头。
"r+"读写方式打开,将文件指针指向文件头。
"w"写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
"w+"读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
"a"写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
"a+"读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
PHP实例代码如下:
function writeover2($filename,$data,$method="rb+",$iflock=1) { @touch($filename);/*文件不存在则创建之.可以采用file_exists验证并其他创建文件函数代替.测试结果效率相当*/ $handle=@fopen($filename,$method); if($iflock){ flock($handle,LOCK_EX); } fwrite($handle,$data); if($method=="rb+") ftruncate($handle,strlen($data)); fclose($handle); }
本文链接:
收藏随意^^请保留教程地址.
上一篇: python使用在线API查询IP对应的地理位置信息实例
下一篇: mac utraledit 破解
推荐阅读
-
【微信公众平台开发】利用客服接口向用户发送网页授权的消息
-
微信公众平台消息接口开发(31)微信浏览器HTTP_USER_AGENT判断_PHP教程
-
微信公众平台消息接口开发(31)微信浏览器HTTP_USER_AGENT判断
-
微信公众平台 - php开发微信公众号,用户发送消息后,公众号没响应,怎么调试呢?
-
微信公众平台消息接口开发(31)微信浏览器HTTP_USER_AGENT判断_PHP教程
-
微信公众平台消息接口开发(31)微信浏览器HTTP_USER_AGENT判断
-
开发微信公众平台接口参数调试-判断用户行为
-
微信公众平台开发,外部调用接口传参,然后把参数以图文形式回复
-
微信公众平台开发,外部调用接口传参,然后把参数以图文形式回复
-
微信测试号在“微信公众平台接口调试工具”测试接口成功但是无法被动回复用户消息的原因有可能是?