微信裡檢索kintone記錄資訊的方法

云朵
發布: 2017-11-29 14:13:27
原創
3110 人瀏覽過

概要

近年來使用微信公眾號的人越來越多,我們的生活方式也隨之發生了巨大變化。

kintone自然也不甘落後,緊跟時代步伐。

本篇文章將為大家介紹在微信公眾號裡檢索kintone記錄資訊的方法。

簡單地說,就是我們將在kintone裡新建一個管理企業資訊的應用,然後在微信公眾號裡輸入關鍵字來檢索該應用程式裡的資訊。

由於正式公眾號碼需要認證,這次我們暫時使用微信公眾帳號測試號碼。

完成後的樣子

微信裡檢索kintone記錄資訊的方法

準備

kintone設定

首先根據上面的設想來創建kintone應用。我創建的是簡易版的企業資訊管理應用程式。

address# #單行文字方塊
欄位類型 欄位名稱 欄位程式碼 備註
創建人 創建人 創建人
#創建時間 創建時間 建立時間
#單行文字方塊 #公司名稱 #company

設為必填項目

值為唯一

#單行文字方塊 公司代表 representative
單行文字方塊 地域 area
單行文字方塊 所在地 address

公司電話######tel######################

應用程式建立成功後,輸入三條資料

微信裡檢索kintone記錄資訊的方法

微信公眾號設定

1. 存取微信公眾平台,點選“進入微信公眾帳號測試號申請系統”,申請微信公眾帳號測試號

微信裡檢索kintone記錄資訊的方法

#2. 進入微信公眾測試號碼

在測試在號碼管理頁面裡,我們可以看到appID 和appsecret。把這兩個資訊記下來,接下來有用。

微信裡檢索kintone記錄資訊的方法

3. 填入介面設定資訊

此資訊需要有自己的伺服器資源。網路上的雲端伺服器資源很多,大家可以自由選擇。

如果大家有公網ip的伺服器也可以使用,下面我們主要使用php環境(具體伺服器設定方式省略)

接下來寫伺服器驗證程式碼,使之能正確回應微信發送的Token驗證。詳細可以參考存取指南

微信裡檢索kintone記錄資訊的方法

#
<?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互動後,將結果再回傳給公眾號。

微信裡檢索kintone記錄資訊的方法

和kintone的交互,我們主要使用curl工具和kintone的API來檢索記錄,具體可以參考php文件kintone API:批次取得記錄(在查詢中指定條件)

// 请求头部
$header = array(

    "Host: " . $this->_subDomain . ".cybozu.com:443",
    "X-Cybozu-API-Token: " . $this->_apiToken
);

$queryStr = &#39;company like "&#39;. $keyword. &#39;"&#39;;
$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 != &#39;&#39;) {
            $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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!