近年來使用微信公眾號的人越來越多,我們的生活方式也隨之發生了巨大變化。
kintone自然也不甘落後,緊跟時代步伐。
本篇文章將為大家介紹在微信公眾號裡檢索kintone記錄資訊的方法。
簡單地說,就是我們將在kintone裡新建一個管理企業資訊的應用,然後在微信公眾號裡輸入關鍵字來檢索該應用程式裡的資訊。
由於正式公眾號碼需要認證,這次我們暫時使用微信公眾帳號測試號碼。
首先根據上面的設想來創建kintone應用。我創建的是簡易版的企業資訊管理應用程式。
欄位類型 | 欄位名稱 | 欄位程式碼 | 備註 |
---|---|---|---|
創建人 | 創建人 | 創建人 | |
#創建時間 | 創建時間 | 建立時間 | |
#單行文字方塊 | #公司名稱 | #company |
設為必填項目 值為唯一 |
#單行文字方塊 | 公司代表 | representative | |
單行文字方塊 | 地域 | area | |
單行文字方塊 | 所在地 | address | |
address |
應用程式建立成功後,輸入三條資料
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的交互,我們主要使用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中文網其他相關文章!