背景 也是在最近吧,小程序更新了云開發(fā) HTTP API 文檔,提供了小程序外訪問(wèn)云開發(fā)資源的能力,使用 HTTP API 開發(fā)者可在已有服務(wù)器上訪問(wèn)云資源,實(shí)現(xiàn)與云開發(fā)的互通。 原本云數(shù)據(jù)庫(kù)還是相對(duì)封閉的,只能通過(guò)自己的小程序或者云函數(shù)來(lái)進(jìn)行訪問(wèn),而現(xiàn)在,你只要調(diào)用官方提供的接口就能實(shí)現(xiàn)對(duì)云函數(shù)的增刪改查了。 截圖1 這里通過(guò) 其實(shí)實(shí)現(xiàn)起來(lái)還是比較簡(jiǎn)單的,通過(guò)小程序的 首先我們來(lái)獲取 '''獲取小程序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ù)庫(kù)中新增一個(gè)集合,代碼如下: '''新增集合'''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) 查詢某個(gè)集合中的數(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ù)庫(kù)中某個(gè)集合,代碼如下 '''刪除集合'''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) 是不是感覺挺簡(jiǎn)單的,就是調(diào)用相應(yīng)的接口實(shí)現(xiàn)對(duì)云數(shù)據(jù)庫(kù)相應(yīng)的操作。 官方開放了除小程序外訪問(wèn)云數(shù)據(jù)庫(kù)的權(quán)限,使得每個(gè)基于云數(shù)據(jù)庫(kù)的小程序不再是一座座鼓搗了。我們可以用該API去實(shí)現(xiàn)基于云開發(fā)的后臺(tái)應(yīng)用了。 |
|
來(lái)自: F2967527 > 《小程序云開發(fā)》