iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#获取微信小程序的云数据库中数据的示例代码
  • 541
分享到

C#获取微信小程序的云数据库中数据的示例代码

2024-04-02 19:04:59 541人浏览 薄情痞子
摘要

目录0 背景说明 0.1 获取AccessToken 0.2 数据库查询 0.3 文件下载 2. 简单的封装 3. 简单测试 4. 参考文档 0 背景说明 试水小程序,实现访客登记

0 背景说明

试水小程序,实现访客登记,现有.net程序需要获取该小程序的数据

0.1 获取AccessToken

调用绝大多数后台接口时都需使用 access_token

参考小程序文档:auth.getAccessToken

发送Get请求,获取AccessToken

接口:

  • https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

参数:

  • appid:小程序ID
  • secret:注册时产生的密钥,可以重置
  • 两个参数信息可以在后台->开发管理->开发设置->开发者设置中查看

返回值:

格式如下:

    
    {"access_token":"ACCESS_TOKEN","expires_in":7200}
  • access_token:获取到的凭证
  • expires_in:凭证的有效时间,单位:秒

0.2 数据库查询

参考小程序文档:databaseQuery

发送Post请求,获取数据

接口:

  • POST Https://api.weixin.qq.com/tcb/databasequery?access_token=ACCESS_TOKEN

参数:

接口地址中加入AccessToken

请求参数:

  • env:云环境ID
  • query:数据库操作语句

格式如下:


{ "env":"小程序环境", "query": "db.collection(\"集合名称\").where({done:true}).limit(10).skip(1).get()" }

query中应使用limit()限制单次拉取的数量,默认10条。

0.3 文件下载

参考小程序文档:获取文件下载链接

发送post请求获取

接口:

  • POST https://api.weixin.qq.com/tcb/batchdownloadfile?access_token=ACCESS_TOKEN

参数:

  • 接口地址中加入AccessToken

请求参数:

  • env:云环境ID
  • file_list:文件列表

格式如下:


{ "env": "云环境ID", "file_list": [ { "fileid":"文件ID", "max_age":7200 } ] }

2. 简单的封装

简单的封装了发送请求的方法


//需要添加的命名空间
using Newtonsoft.JSON;
using System.IO;

/// <summary>
/// 发送http Get请求
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static HttpWEBResponse GetRequest(string url)
{
    HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
    request.Method = "GET";
    request.ContentType = "application/x-www-fORM-urlencoded";//链接类型
    return request.GetResponse() as HttpWebResponse;
}

/// <summary>
/// 发送http Post请求
/// </summary>
/// <returns></returns>
public static HttpWebResponse PostRequest(string url, string messsage)
{
    byte[] byteData = Encoding.UTF8.GetBytes(messsage);
    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
    webRequest.Method = "POST";
    webRequest.ContentType = "application/json;charset=UTF-8";
    webRequest.ContentLength = byteData.Length;
    using (Stream stream = webRequest.GetRequestStream())
    {
        stream.Write(byteData, 0, byteData.Length);
    }
    HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
    return response;
}

/// <summary>
/// 从HttpWebResponse对象中提取响应的数据转换为字符串
/// </summary>
/// <param name="webresponse"></param>
/// <returns></returns>
public static string HttpWebResponseToString(HttpWebResponse webresponse)
{
    using (Stream s = webresponse.GetResponseStream())
    {
        StreamReader reader = new StreamReader(s, Encoding.UTF8);
        return reader.ReadToEnd();
    }
}

/// <summary>
/// Json字符串转为匿名对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="json"></param>
/// <param name="anonymousTypeObject"></param>
/// <returns></returns>
public static T DesAnonymousType<T>(string json, T anonymousTypeObject)
{
    return JsonConvert.DeserializeAnonymousType(json, anonymousTypeObject);
}

3. 简单测试

发送请求获取数据


/// <summary>
/// 获取access_token
/// </summary>
/// <returns></returns>
public static string GetAccessToken()
{
    // 通过Get请求获取access_token
    HttpWebResponse httpWebResponse = GetRequest("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credentiaappid=小程序ID&secret=小程序密钥");
    string resultJson = HttpWebResponseToString(httpWebResponse);
    var resultObj = DesAnonymousType(resultJson, new { access_token = "", expires_in = "" });
    return resultObj.access_token;
}

/// <summary>
///  查询数据
/// </summary>
/// <param name="queryString">形如: $"{{\"env\":\"小程序环境id\", \"query\": \"db.collecti(\\\"数据集合名称\\\").where({{集合中字段:\\\"集合中字段值\\\"}}).limit(10).get()\"}}"</param>
/// <returns></returns>
public static string GetData(string queryString)
{
    string accessToken = GetAccessToken();
    HttpWebResponse httpWebResponse = PostRequest("https://api.weixin.qq.com/tcb/databasequery?access_token=" + accessTokenqueryString);
    string data = HttpWebResponseToString(httpWebResponse);
    return data;
}


/// <summary>
/// 通过FileId获取文件下载URL
/// </summary>
/// <param name="queryString">形如:$"{{\"env\": \"环境ID\",\"file_list\": [{{\"fileid\":文件ID\",\"max_age\":7200 }}]}}"</param>
/// <returns></returns>
public static string GetDownFileUrl(string queryString)
{
    string accessToken = GetAccessToken();
    string url = $"https://api.weixin.qq.com/tcb/batchdownloadfile?access_token={accessToken}";
    HttpWebResponse httpWebResponse = PostRequest(url, queryString);
    string downFileUrl = HttpWebResponseToString(httpWebResponse);
    return downFileUrl;
}

4. 参考文档

小程序官方文档:云开发->数据库查询记录

小程序官方文档:接口调用凭证->getAccessToken

到此这篇关于C#获取微信小程序的云数据库中数据的示例代码的文章就介绍到这了,更多相关C#获取小程序数据内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C#获取微信小程序的云数据库中数据的示例代码

本文链接: https://www.lsjlt.com/news/134048.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#获取微信小程序的云数据库中数据的示例代码
    目录0 背景说明 0.1 获取AccessToken 0.2 数据库查询 0.3 文件下载 2. 简单的封装 3. 简单测试 4. 参考文档 0 背景说明 试水小程序,实现访客登记...
    99+
    2024-04-02
  • 微信小程序云开发数据库的示例分析
    小编给大家分享一下微信小程序云开发数据库的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!开发者可以使用云开发开发微信小程...
    99+
    2024-04-02
  • 微信小程序如何获取data数据
    微信小程序获取data数据的方法:1、在微信开发者工具中打开项目。2、在JS文件中添加获取data数据的函数方法。微信小程序获取data数据的方法:首先用微信开发者工具打开项目。在JS文件添加获取data数据的函数方法,具体代码如下所示:p...
    99+
    2024-04-02
  • 微信小程序中数据存储与取值的示例分析
    这篇文章主要介绍微信小程序中数据存储与取值的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在小程序开发的过程,经常要需要这个页面输入的数据,在下一个页面中进行取值赋值。比如:...
    99+
    2024-04-02
  • 微信小程序页面如何获取数据
    微信小程序页面获取数据的案例:获取page数据,代码:var text=this.data.name ,这样就获取到初始化的值。page({data:{name:"test"},showData:function(){v...
    99+
    2024-04-02
  • C#获取数据库中所有表名、列名的示例代码
    C# 获取数据库中所有表名、列名,实现代码如下所示: List<Dictionary<string, string>> GetColsNam...
    99+
    2024-04-02
  • 微信小程序云开发中如何修改云数据库的数据
    小编给大家分享一下微信小程序云开发中如何修改云数据库的数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!小程序代码中无法直接修改...
    99+
    2024-04-02
  • 微信小程序Page中data数据操作和函数调用的案例代码
    这篇文章主要介绍了微信小程序Page中data数据操作和函数调用的案例代码,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序 详解Pa...
    99+
    2024-04-02
  • 微信小程序中数据双向绑定与数据操作的示例分析
    这篇文章主要为大家展示了“微信小程序中数据双向绑定与数据操作的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序中数据双向绑定与数据操作的示例分析...
    99+
    2024-04-02
  • 微信小程序中本地数据读取的方法
    小编给大家分享一下微信小程序中本地数据读取的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信小程序 本地数据读取实例一般情...
    99+
    2024-04-02
  • 微信小程序如何使用wxs计算获取到的数据
    这篇文章主要介绍“微信小程序如何使用wxs计算获取到的数据 ”,在日常操作中,相信很多人在微信小程序如何使用wxs计算获取到的数据 问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序如何使用wxs计算获...
    99+
    2023-06-26
  • Java读取数据库表的示例代码
    目录Java读取数据库表新手引导LoggerConnectionResultSetResultSet中next()方法name和commentJava读取数据库表 package c...
    99+
    2023-05-18
    Java读取数据库表 Java数据库表
  • 微信小程序云函数如何添加数据到数据库
    这篇文章主要介绍了微信小程序云函数如何添加数据到数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.新建小程序,建立云开发快速启动模板这...
    99+
    2024-04-02
  • 微信小程序云开发实现分页刷新获取数据
    本文实例为大家分享了微信小程序云开发分页刷新获取数据的具体代码,供大家参考,具体内容如下 利用云函数调用数据库,在云函数中分页调取数据。再在js中不断将新的数据拼接到旧数据中,在前端...
    99+
    2024-04-02
  • 数据库中cdc.lsn_time_mapping的示例代码
    小编给大家分享一下数据库中cdc.lsn_time_mapping的示例代码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 代码如下 SELECT&nb...
    99+
    2024-04-02
  • 微信小程序-获取不限制的小程序码(二)
    一、获取小程序码 获取小程序码 | 微信开放文档 与 createQRCode 总共生成的码数量限制为 100,000,请谨慎调用  调用方式 HTTPS 调用 POST https://api.weixin.qq.com/wxa/getw...
    99+
    2023-09-01
    微信小程序
  • 微信小程序数据劫持代理的实现
    index.html   index.js // Vue数据劫持代理 //模拟Vue中data选项 let data = { username:'小...
    99+
    2024-04-02
  • 小程序云开发数据库的示例分析
    小编给大家分享一下小程序云开发数据库的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在云控制台操作云数据库,即创建数据库...
    99+
    2024-04-02
  • 数据库中tmstamp monitor的示例代码
    这篇文章主要介绍了数据库中tmstamp monitor的示例代码,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。USE [DBCe...
    99+
    2024-04-02
  • 微信小程序连接MySQL数据库的全过程
    目录简要说明:准备工作MySQL配置数据库、数据表目录结构客户端代码实现服务器端代码实现效果展示总结简要说明: 承接上一个商品列表页,在服务器端连接MySQL数据库,通过条件匹配查寻...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作