分享

利用python操作小程序云数据库实现简单的增删改查

 F2967527 2019-08-29

不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了

背景

也是在最近吧,小程序更新了云开发 HTTP API 文档,提供了小程序外访问云开发资源的能力,使用 HTTP API 开发者可在已有服务器上访问云资源,实现与云开发的互通。

原本云数据库还是相对封闭的,只能通过自己的小程序或者云函数来进行访问,而现在,你只要调用官方提供的接口就能实现对云函数的增删改查了。

截图1

这里通过python作为演示来进行简单的测试,当然你也可以使用javaphp等任何你熟悉的语言进行编码。

其实实现起来还是比较简单的,通过小程序的APPIDAPPSECRET来获取ACCESS_TOKEN,获取到调用凭证之后就可以根据文档提供的API对云数据库进行操作了。

首先我们来获取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']

在云数据库中新增一个集合,代码如下:

'''新增集合'''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)

在集合中新增一笔数据,代码如下:

'''新增数据'''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.新增数据:'+response.text)

查询某个集合中的数据,代码如下:

'''查询数据'''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.查询数据:'+response.text)    result=response.json()    resultValue =json.loads(result['data'][0])    return resultValue['_id']

删除该集合中的某笔数据,代码如下:

'''删除数据'''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.删除数据:'+response.text)

删除云数据库中某个集合,代码如下

'''删除集合'''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)

是不是感觉挺简单的,就是调用相应的接口实现对云数据库相应的操作。

官方开放了除小程序外访问云数据库的权限,使得每个基于云数据库的小程序不再是一座座鼓捣了。我们可以用该API去实现基于云开发的后台应用了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多