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

這里通過 python 作為演示來進行簡單的測試,當(dāng)然你也可以使用 java , php 等任何你熟悉的語言進行編碼。
demo演示
其實實現(xiàn)起來還是比較簡單的,通過小程序的 APPID 和 APPSECRET 來獲取 ACCESS_TOKEN ,獲取到調(diào)用憑證之后就可以根據(jù)文檔提供的API對云數(shù)據(jù)庫進行操作了。
首先我們來獲取 ACCESS_TOKEN ,相關(guān)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ù)據(jù)庫中新增一個集合,代碼如下:
'''
新增集合
'''
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ù)據(jù),代碼如下:
'''
新增數(shù)據(jù)
'''
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ù)據(jù):'+response.text)
查詢某個集合中的數(shù)據(jù),代碼如下:
'''
查詢數(shù)據(jù)
'''
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ù)據(jù):'+response.text)
result=response.json()
resultValue =json.loads(result['data'][0])
return resultValue['_id']
刪除該集合中的某筆數(shù)據(jù),代碼如下:
'''
刪除數(shù)據(jù)
'''
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ù)據(jù):'+response.text)
刪除云數(shù)據(jù)庫中某個集合,代碼如下:
'''
刪除集合
'''
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)
是不是感覺挺簡單的,就是調(diào)用相應(yīng)的接口實現(xiàn)對云數(shù)據(jù)庫相應(yīng)的操作。
總結(jié)
官方開放了除小程序外訪問云數(shù)據(jù)庫的權(quán)限,使得每個基于云數(shù)據(jù)庫的小程序不再是一座座鼓搗了。我們可以用該API去實現(xiàn)基于云開發(fā)的后臺應(yīng)用了。
就拿我的博客小程序來說,完全可以在我擅長的開發(fā)語言中找個后臺模板,進行簡單的二次開發(fā),數(shù)據(jù)庫使用小程序的云數(shù)據(jù)庫,無縫連接我的博客小程序。
同樣的,前期做的公眾號文章同步的云函數(shù),完全可以用自己擅長的語言來寫了,最終保存到云數(shù)據(jù)庫就可以了。
有興趣的小伙伴可以行動起來了,利用云數(shù)據(jù)庫,搭建屬于你自己的小程序后臺吧。
Ps.完整版demo源碼可以訪問我的github
https://github.com/CavinCao/python_libraries_demo
以上所述是小編給大家介紹的python操作小程序云數(shù)據(jù)庫實現(xiàn)簡單的增刪改查功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
使用Python實現(xiàn)為PDF文檔設(shè)置背景色或背景圖
PDF作為一種跨平臺、高保真的文件格式被廣泛應(yīng)用,這篇文章主要為大家詳細介紹了如何使用Python代碼對PDF文檔進行頁面背景色或背景圖片的設(shè)置,需要的可以參考下2024-04-04
Python Requests模擬登錄實現(xiàn)圖書館座位自動預(yù)約
這篇文章主要為大家詳細介紹了Python Requests的模擬登錄,Python實現(xiàn)圖書館座位自動預(yù)約,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04
Empty test suite.(PyCharm程序運行錯誤的解決方法)
今天小編就為大家分享一篇Empty test suite.(PyCharm程序運行錯誤的解決方法),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
Python如何在windows環(huán)境安裝pip及rarfile
這篇文章主要介紹了Python如何在windows環(huán)境安裝pip及rarfile,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06
django orm 通過related_name反向查詢的方法
今天小編就為大家分享一篇django orm 通過related_name反向查詢的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12

