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ù)來進(jìn)行訪問,而現(xiàn)在,你只要調(diào)用官方提供的接口就能實現(xiàn)對云函數(shù)的增刪改查了。
這里通過 python 作為演示來進(jìn)行簡單的測試,當(dāng)然你也可以使用 java , php 等任何你熟悉的語言進(jìn)行編碼。
demo演示
其實實現(xiàn)起來還是比較簡單的,通過小程序的 APPID 和 APPSECRET 來獲取 ACCESS_TOKEN ,獲取到調(diào)用憑證之后就可以根據(jù)文檔提供的API對云數(shù)據(jù)庫進(jìn)行操作了。
首先我們來獲取 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ā)語言中找個后臺模板,進(jìn)行簡單的二次開發(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)一個簡單的學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了如何利用python實現(xiàn)簡單的學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-12-12Python實現(xiàn)的矩陣轉(zhuǎn)置與矩陣相乘運算示例
這篇文章主要介紹了Python實現(xiàn)的矩陣轉(zhuǎn)置與矩陣相乘運算,結(jié)合實例形式分析了Python針對矩陣進(jìn)行轉(zhuǎn)置與相乘運算的相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下2019-03-03Django admin實現(xiàn)圖書管理系統(tǒng)菜鳥級教程完整實例
這篇文章主要介紹了Django admin實現(xiàn)圖書管理系統(tǒng)菜鳥級教程完整實例,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12詳解Python連接MySQL數(shù)據(jù)庫的多種方式
這篇文章主要介紹了Python連接MySQL數(shù)據(jù)庫方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04