不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了
背景
也是在最近吧,小程序更新了云开发 http api 文档,提供了小程序外访问云开发资源的能力,使用 http api 开发者可在已有服务器*问云资源,实现与云开发的互通。
原本云数据库还是相对封闭的,只能通过自己的小程序或者云函数来进行访问,而现在,你只要调用官方提供的接口就能实现对云函数的增删改查了。
这里通过 python 作为演示来进行简单的测试,当然你也可以使用 java , php 等任何你熟悉的语言进行编码。
demo演示
其实实现起来还是比较简单的,通过小程序的 appid 和 appsecret 来获取 access_token ,获取到调用凭证之后就可以根据文档提供的api对云数据库进行操作了。
首先我们来获取 access_token ,相关python代码如下:
1
2
3
4
5
6
7
8
9
|
'''
获取小程序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' ]
|
在云数据库中新增一个集合,代码如下:
1
2
3
4
5
6
7
8
9
10
11
|
'''
新增集合
'''
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)
|
在集合中新增一笔数据,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
'''
新增数据
'''
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)
|
查询某个集合中的数据,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
'''
查询数据
'''
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' ]
|
删除该集合中的某笔数据,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
'''
删除数据
'''
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)
|
删除云数据库中某个集合,代码如下:
1
2
3
4
5
6
7
8
9
10
11
|
'''
删除集合
'''
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