不止python,你可以利用任何語言那實(shí)現(xiàn)通過http請求來操作你自己的小程序云數(shù)據(jù)庫了
背景
也是在最近吧,小程序更新了云開發(fā) HTTP API 文檔,提供了小程序外訪問云開發(fā)資源的能力,使用 HTTP API 開發(fā)者可在已有服務(wù)器上訪問云資源,實(shí)現(xiàn)與云開發(fā)的互通。
原本云數(shù)據(jù)庫還是相對封閉的,只能通過自己的小程序或者云函數(shù)來進(jìn)行訪問,而現(xiàn)在,你只要調(diào)用官方提供的接口就能實(shí)現(xiàn)對云函數(shù)的增刪改查了。
這里通過 python 作為演示來進(jìn)行簡單的測試,當(dāng)然你也可以使用 java , php 等任何你熟悉的語言進(jìn)行編碼。
demo演示
其實(shí)實(shí)現(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)的接口實(shí)現(xiàn)對云數(shù)據(jù)庫相應(yīng)的操作。
總結(jié)
官方開放了除小程序外訪問云數(shù)據(jù)庫的權(quán)限,使得每個基于云數(shù)據(jù)庫的小程序不再是一座座鼓搗了。我們可以用該API去實(shí)現(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ù)庫實(shí)現(xiàn)簡單的增刪改查功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
