Rumah >applet WeChat >pembangunan WeChat >微信里检索kintone记录信息的方法

微信里检索kintone记录信息的方法

云朵
云朵asal
2017-11-29 14:13:273152semak imbas

概要

近几年来使用微信公众号的人越来越多,我们的生活方式也随之发生了巨大变化。

kintone自然也不甘落后,紧跟时代步伐。

本篇文章将为大家介绍在微信公众号里检索kintone记录信息的方法。

简单地说,就是我们将在kintone里新建一个管理企业信息的应用,然后在微信公众号里输入关键字来检索该应用里的信息。

由于正式公众号需要认证,这次我们暂时使用微信公众账号测试号。

完成后的样子

webwxgetvideo.gif

准备

kintone设置

首先根据上面的设想来创建kintone应用。我创建的是简易版的企业信息管理应用。

字段类型 字段名称 字段代码 备注
创建人 创建人 创建人
创建时间 创建时间 创建时间
单行文本框 公司名 company

设为必填项

值为唯一

单行文本框 公司代表 representative
单行文本框 地域 area
单行文本框 所在地 address
单行文本框 公司电话 tel

应用创建成功后,输入三条数据

微信里检索kintone记录信息的方法

微信公众号设置

1. 访问微信公众平台,点击 “进入微信公众账号测试号申请系统”,申请微信公众账号测试号

微信里检索kintone记录信息的方法

2. 进入微信公众测试号

在测试号管理页面里,我们可以看到 appID 和 appsecret。把这两个信息记下来,接下来有用。

1048079c.png

3. 填写接口配置信息

此信息需要有自己的服务器资源。网上的云服务器资源很多,大家可以自由选择。

如果大家有带公网ip的服务器也可以使用,下面我们主要使用php环境(具体服务器配置方式省略)

接下来写服务器验证代码,使之能正确响应微信发送的Token验证。详细可以参考接入指南

1048079d.png

代码

<?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 = "未找到该企业信息";
}

详细代码

全部的代码可点这里查看

参考

微信公众平台技术文档

Atas ialah kandungan terperinci 微信里检索kintone记录信息的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn