微信里检索kintone记录信息的方法
概要
近几年来使用微信公众号的人越来越多,我们的生活方式也随之发生了巨大变化。
kintone自然也不甘落后,紧跟时代步伐。
本篇文章将为大家介绍在微信公众号里检索kintone记录信息的方法。
简单地说,就是我们将在kintone里新建一个管理企业信息的应用,然后在微信公众号里输入关键字来检索该应用里的信息。
由于正式公众号需要认证,这次我们暂时使用微信公众账号测试号。
完成后的样子
准备
kintone设置
首先根据上面的设想来创建kintone应用。我创建的是简易版的企业信息管理应用。
字段类型 | 字段名称 | 字段代码 | 备注 |
---|---|---|---|
创建人 | 创建人 | 创建人 | |
创建时间 | 创建时间 | 创建时间 | |
单行文本框 | 公司名 | company |
设为必填项 值为唯一 |
单行文本框 | 公司代表 | representative | |
单行文本框 | 地域 | area | |
单行文本框 | 所在地 | address | |
单行文本框 | 公司电话 | tel |
应用创建成功后,输入三条数据
微信公众号设置
1. 访问微信公众平台,点击 “进入微信公众账号测试号申请系统”,申请微信公众账号测试号
2. 进入微信公众测试号
在测试号管理页面里,我们可以看到 appID 和 appsecret。把这两个信息记下来,接下来有用。
3. 填写接口配置信息
此信息需要有自己的服务器资源。网上的云服务器资源很多,大家可以*选择。
如果大家有带公网ip的服务器也可以使用,下面我们主要使用php环境(具体服务器配置方式省略)
接下来写服务器验证代码,使之能正确响应微信发送的Token验证。详细可以参考接入指南。
代码
<?php define("APPID", "wxcbfaxxxxxx1814d4"); //appID define("APPSECRET", "604113xxxxxxxxxxxxxxx0bda2240c47"); //appsecret define("TOKEN", "cnDevNet"); //Token require "./wechat.inc.php"; $wechat = new WeChat(APPID, APPSECRET, TOKEN); $wechat->valid(); //Token验证 ?>
class WeChat { private $_appid; private $_appsecret; private $_token; public function __construct($appid, $appsecret, $token) { $this->_appid = $appid; $this->_appsecret = $appsecret; $this->_token = $token; } public function valid() { $echoStr = $_GET["echostr"]; //valid signature , option if($this->checkSignature()) { echo $echoStr; exit; } } private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = $this->_token; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ) { return true; } else { return false; } } }
点击接口配置信息的 “修改”,填好URL 和 Token后,点击 “提交” 按钮。
看到以下信息的话,说明配置成功。
和kintone关联
下面是主要的原理图。微信将消息转发给服务器,服务器和kintone交互后,将结果再返回给公众号。
和kintone的交互,我们主要使用curl工具和kintone的API来检索记录,具体可以参考php文档和kintone API:批量获取记录(在查询中指定条件)。
// 请求头部 $header = array( "Host: " . $this->_subDomain . ".cybozu.com:443", "X-Cybozu-API-Token: " . $this->_apiToken ); $queryStr = 'company like "'. $keyword. '"'; $params = "?app=$this->_appId&query=".urlencode($queryStr) . "&fields[0]=". urlencode("company") . "&fields[1]=". urlencode("representative") . "&fields[2]=". urlencode("area") . "&fields[3]=". urlencode("address") . "&fields[4]=". urlencode("tel"); $url = "https://" . $this->_subDomain . ".cybozu.com/k/v1/records.json". $params; $response = $this->_request($url, true, "get", null, $header); //curl提交 $result = json_decode($response, true); if (count($result["records"]) > 0) { foreach($result["records"] as $value) { if ($contentStr != '') { $contentStr .= "\n\n"; } $contentStr .= "公司名:". $value["company"]["value"]."\n" . "公司代表:". $value["representative"]["value"]."\n" . "地域:". $value["area"]["value"]."\n" . "所在地:". $value["address"]["value"]."\n" . "电话:". $value["tel"]["value"]; } } else { $contentStr = "未找到该企业信息"; }
详细代码
参考
以上就是微信里检索kintone记录信息的方法的详细内容,更多请关注其它相关文章!
上一篇: php使用curl获取https请求的方法_php技巧
下一篇: DNS和DHCP之间有哪些区别