利用Python调用小程序云开发HTTP API实现数据库增删改查

Felix
Felix
发布时间:2026-10-13| 6人浏览过
原创

小程序云开发官方开放HTTP API,允许外部服务器通过标准HTTP请求访问云资源。本文以Python为例,演示如何获取Access Token,并调用接口对云数据库进行集合与数据的增、删、改、查操作,帮助开发者利用熟悉语言构建小程序后台应用。

小程序云开发HTTP API背景与优势

除了Python,开发者可以使用任何编程语言,通过发送HTTP请求来操作自己的小程序云数据库。

背景

近期,小程序更新了云开发HTTP API文档,提供了在小程序外部访问云开发资源的能力。借助此接口,开发者可以在自有服务器上访问云资源,实现与云开发的互通。

此前,云数据库相对封闭,仅支持通过小程序或云函数进行访问。现在,只需调用官方提供的接口,即可实现对云数据库的增删改查操作。


本文使用Python进行演示测试,当然,您也可以使用Java、PHP等任何熟悉的编程语言进行编码实现。

Python实现云数据库增删改查Demo

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操作小程序云数据库实现简单的增删改查功能,希望对大家有所帮助。如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。