python操作小程序云數(shù)據庫實現(xiàn)簡單的增刪改查功能
不止python,你可以利用任何語言那實現(xiàn)通過http請求來操作你自己的小程序云數(shù)據庫了
背景
也是在最近吧,小程序更新了云開發(fā) HTTP API 文檔,提供了小程序外訪問云開發(fā)資源的能力,使用 HTTP API 開發(fā)者可在已有服務器上訪問云資源,實現(xiàn)與云開發(fā)的互通。
原本云數(shù)據庫還是相對封閉的,只能通過自己的小程序或者云函數(shù)來進行訪問,而現(xiàn)在,你只要調用官方提供的接口就能實現(xiàn)對云函數(shù)的增刪改查了。

這里通過 python 作為演示來進行簡單的測試,當然你也可以使用 java , php 等任何你熟悉的語言進行編碼。
demo演示
其實實現(xiàn)起來還是比較簡單的,通過小程序的 APPID 和 APPSECRET 來獲取 ACCESS_TOKEN ,獲取到調用憑證之后就可以根據文檔提供的API對云數(shù)據庫進行操作了。
首先我們來獲取 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']
在云數(shù)據庫中新增一個集合,代碼如下:
'''
新增集合
'''
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)
在集合中新增一筆數(shù)據,代碼如下:
'''
新增數(shù)據
'''
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.新增數(shù)據:'+response.text)
查詢某個集合中的數(shù)據,代碼如下:
'''
查詢數(shù)據
'''
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.查詢數(shù)據:'+response.text)
result=response.json()
resultValue =json.loads(result['data'][0])
return resultValue['_id']
刪除該集合中的某筆數(shù)據,代碼如下:
'''
刪除數(shù)據
'''
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.刪除數(shù)據:'+response.text)
刪除云數(shù)據庫中某個集合,代碼如下:
'''
刪除集合
'''
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)
是不是感覺挺簡單的,就是調用相應的接口實現(xiàn)對云數(shù)據庫相應的操作。
總結
官方開放了除小程序外訪問云數(shù)據庫的權限,使得每個基于云數(shù)據庫的小程序不再是一座座鼓搗了。我們可以用該API去實現(xiàn)基于云開發(fā)的后臺應用了。
就拿我的博客小程序來說,完全可以在我擅長的開發(fā)語言中找個后臺模板,進行簡單的二次開發(fā),數(shù)據庫使用小程序的云數(shù)據庫,無縫連接我的博客小程序。
同樣的,前期做的公眾號文章同步的云函數(shù),完全可以用自己擅長的語言來寫了,最終保存到云數(shù)據庫就可以了。
有興趣的小伙伴可以行動起來了,利用云數(shù)據庫,搭建屬于你自己的小程序后臺吧。
Ps.完整版demo源碼可以訪問我的github
https://github.com/CavinCao/python_libraries_demo
以上所述是小編給大家介紹的python操作小程序云數(shù)據庫實現(xiàn)簡單的增刪改查功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
相關文章
基于Python實現(xiàn)一個簡單的學生管理系統(tǒng)
這篇文章主要為大家詳細介紹了如何利用python實現(xiàn)簡單的學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-12-12
Django admin實現(xiàn)圖書管理系統(tǒng)菜鳥級教程完整實例
這篇文章主要介紹了Django admin實現(xiàn)圖書管理系統(tǒng)菜鳥級教程完整實例,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12

