python操作小程序云数据库实现简单的增删改查功能
作者:玄冰 发布时间:2024-01-20 08:53:46
不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了
背景
也是在最近吧,小程序更新了云开发 HTTP API 文档,提供了小程序外访问云开发资源的能力,使用 HTTP API 开发者可在已有服务器上访问云资源,实现与云开发的互通。
原本云数据库还是相对封闭的,只能通过自己的小程序或者云函数来进行访问,而现在,你只要调用官方提供的接口就能实现对云函数的增删改查了。
这里通过 python 作为演示来进行简单的测试,当然你也可以使用 java , php 等任何你熟悉的语言进行编码。
demo演示
其实实现起来还是比较简单的,通过小程序的 APPID 和 APPSECRET 来获取 ACCESS_TOKEN ,获取到调用凭证之后就可以根据文档提供的API对云数据库进行操作了。
首先我们来获取 ACCESS_TOKEN ,相关python代码如下:
'''
获取小程序token
'''
def get_access_token():
url='{0}cgi-bin/token?grant_type=client_credential&appid={1}&secret={2}'.format(WECHAT_URL,APP_ID,APP_SECRET)
response =requests.get(url)
result=response.json()
print(result)
return result['access_token']
在云数据库中新增一个集合,代码如下:
'''
新增集合
'''
def add_collection(accessToken):
url='{0}tcb/databasecollectionadd?access_token={1}'.format(WECHAT_URL,accessToken)
data={
"env":ENV,
"collection_name":TEST_COLLECTION
}
response = requests.post(url,data=json.dumps(data),headers=HEADER)
print('1.新增集合:'+response.text)
在集合中新增一笔数据,代码如下:
'''
新增数据
'''
def add_data(accessToken):
url='{0}tcb/databaseadd?access_token={1}'.format(WECHAT_URL,accessToken)
query='''
db.collection("test_collection").add({
data:{
key:1,
value:"2345"
}
})
'''
data={
"env":ENV,
"query":query
}
response = requests.post(url,data=json.dumps(data),headers=HEADER)
print('2.新增数据:'+response.text)
查询某个集合中的数据,代码如下:
'''
查询数据
'''
def query_data(accessToken):
url='{0}tcb/databasequery?access_token={1}'.format(WECHAT_URL,accessToken)
query='''
db.collection("test_collection").limit(10).skip(1).get()
'''
data={
"env":ENV,
"query":query
}
response = requests.post(url,data=json.dumps(data),headers=HEADER)
print('3.查询数据:'+response.text)
result=response.json()
resultValue =json.loads(result['data'][0])
return resultValue['_id']
删除该集合中的某笔数据,代码如下:
'''
删除数据
'''
def delete_data(accessToken,id):
url='{0}tcb/databasedelete?access_token={1}'.format(WECHAT_URL,accessToken)
query='''db.collection("test_collection").doc("{0}").remove()'''.format(id)
data={
"env":ENV,
"query":query
}
response = requests.post(url,data=json.dumps(data),headers=HEADER)
print('4.删除数据:'+response.text)
删除云数据库中某个集合,代码如下:
'''
删除集合
'''
def delete_collection(accessToken):
url='{0}tcb/databasecollectiondelete?access_token={1}'.format(WECHAT_URL,accessToken)
data={
"env":ENV,
"collection_name":TEST_COLLECTION
}
response = requests.post(url,data=json.dumps(data),headers=HEADER)
print('5.删除集合:'+response.text)
是不是感觉挺简单的,就是调用相应的接口实现对云数据库相应的操作。
总结
官方开放了除小程序外访问云数据库的权限,使得每个基于云数据库的小程序不再是一座座鼓捣了。我们可以用该API去实现基于云开发的后台应用了。
就拿我的博客小程序来说,完全可以在我擅长的开发语言中找个后台模板,进行简单的二次开发,数据库使用小程序的云数据库,无缝连接我的博客小程序。
同样的,前期做的公众号文章同步的云函数,完全可以用自己擅长的语言来写了,最终保存到云数据库就可以了。
有兴趣的小伙伴可以行动起来了,利用云数据库,搭建属于你自己的小程序后台吧。
Ps.完整版demo源码可以访问我的github
https://github.com/CavinCao/python_libraries_demo
以上所述是小编给大家介绍的python操作小程序云数据库实现简单的增删改查功能,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://www.bug2048.com/python20190606


猜你喜欢
- 今天在写爬虫程序的时候由于要翻页,做除法分页的时候出现了totalCount = '100' totalPage = int
- 发现问题最近在处理一些数据库中数据的时候,写了下面的这一条sql语句:UPDATE f_studentSET school_id = 0WH
- linecache, 可以用它方便地获取某一文件某一行的内容。而且它也被 traceback 模块用来获取相关源码信息来展示。用法很简单:&
- 今天接到测试人员反应,测试环境前端应用程序无连接mysql数据库,登录mysql服务器,查看错误日志,发现有如下报错:ERROR 1135
- 本文实例为大家分享了python实现文件批量重命名,供大家参考,具体内容如下讲解1、库:os2、代码效果:对指定文件夹内所有文件重命名为1,
- 这货很强大, 必须掌握文档 链接 http://docs.python.org/2/library/itertools.htmlpymotw
- python是一个很有趣的语言,可以在命令行窗口运行。python中有很多功能强大的模块,这篇经验告诉你,如何使用python的pygal模
- created页面加载未渲染html之前执行。mounted渲染html后再执行。由于created在html模板生产之前所以无法对Dom进
- endswith()方法返回true,如果字符串以指定后缀结尾,否则返回(False可选限制的匹配从给定的索引开始和结束)。语法
- fckconfig.js 中修改 添加 FCKConfig.LineHeights = '100%;150%;200%;250%;3
- 表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数
- 前言pygame中的精灵碰撞是可见游戏中用的最基础的东西,这里结合官方文档和小甲鱼的网站上的内容做个小总结,方便日后使用。pygame.sp
- 使用python3调用wxpy模块,监控linux日志并定时发送消息给群组或好友,具体代码如下所示:#!/usr/bin/env pytho
- 记得刚学python那会,作过一个飞机大战小项目,这个项目非常经典,可以帮助初学者提高动手能力,今天把它分享出来。一、项目介绍先放几张图片二
- 1、performance schema:介绍 在MySQL5.7中,performance schema有很大改进
- 一、测试常用规则一个测试单元必须关注一个很小的功能函数,证明它是正确的;每个测试单元必须是完全独立的,必须能单独运行。这样意味着每一个测试方
- 采用Appium进行自动化的功能性测试最酷的一点是,你可以使用具有最适合你的测试工具的任何一门语言来写你的测试代码。大家选择最多
- 1、爬取网页分析爬取的目标网址为:https://www.gushiwen.cn/在登陆界面需要做的工作有,获取验证码图片,并识别该验证码,
- 前言说到覆盖索引之前,先要了解它的数据结构:B+树。先建个表演示(为了简单,id按顺序建):idname1aa3kl5op8aa10kk11
- python数组和列表的区别列表和数组的定义列表用于顺序存储结构。它可以方便、高效的的添加删除元素,并且列表中的元素可以是多种类型。数组是一