新聞中心
一、云調(diào)用基礎(chǔ)
在小程序開發(fā)技術(shù)文檔的服務(wù)端接口列表中羅列了所有的服務(wù)端接口,如果接口支持云調(diào)用,則在接口名稱旁會帶有云調(diào)用的標(biāo)簽。在支持云調(diào)用的接口文檔中,會分別列出 HTTPS 調(diào)用的文檔及云調(diào)用的文檔。

創(chuàng)新互聯(lián)主營鄉(xiāng)寧網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),鄉(xiāng)寧h5成都微信小程序搭建,鄉(xiāng)寧網(wǎng)站營銷推廣歡迎鄉(xiāng)寧等地區(qū)企業(yè)咨詢
也就是說,服務(wù)端接口的開發(fā)方式(方法)有兩種,一種是HTTPS調(diào)用,一種是云調(diào)用,HTTPS調(diào)用通用于所有的開發(fā)語言,是一種比較傳統(tǒng)的開發(fā)方式;而云調(diào)用則是云開發(fā)提供的更加方便的開發(fā)方式。值得一提的是,我們也可以使用云函數(shù)來調(diào)用HTTPS接口,比如使用axios,方法在HTTP處理章節(jié)有介紹。
云調(diào)用是云開發(fā)提供的基于云函數(shù)使用小程序開放接口的能力,支持在云函數(shù)調(diào)用服務(wù)端開放接口。在云函數(shù)中使用云調(diào)用調(diào)用服務(wù)端接口無需換取access_token,只要是在從小程序端觸發(fā)的云函數(shù)中發(fā)起的云調(diào)用都會經(jīng)過微信自動鑒權(quán),可以在登記權(quán)限后直接調(diào)用如發(fā)送訂閱消息、客服消息等開放接口。
這里需要注意的是,當(dāng)我們在調(diào)試云調(diào)用的云函數(shù)時(shí),直接使用云端測試會出現(xiàn)報(bào)錯(cuò),這是因?yàn)樵贫藴y試是無法獲取用戶登錄態(tài)信息的,所以建議在小程序端觸發(fā)來調(diào)試。
云調(diào)用大大方便了我們使用小程序開放能力的接口,以訂閱消息為例,在沒有云調(diào)用之前,我們想要發(fā)送訂閱消息,需要以下幾個(gè)步驟:
- 在云函數(shù)中發(fā)送 https 請求,比如前面使用到的axios;
- 調(diào)用小程序的 auth.getAccessToken 接口,傳遞grant_type(值為client_credential)、小程序appid和小程序唯一憑證密鑰secret來獲取小程序全局唯一后臺接口調(diào)用憑據(jù) AccessToken;access_token的有效期為2個(gè)小時(shí),最好要自己存儲并定時(shí)刷新;
- 調(diào)用小程序的 subscribeMessage.send 接口的https請求,來發(fā)送訂閱消息
而如果是使用云調(diào)用則無需換取access_token,只需要進(jìn)行如下步驟即可,這些步驟也是通用于其他云調(diào)用接口:
- 在config.json文件中配置相關(guān)云調(diào)用接口的權(quán)限;
- 在云函數(shù)中無需發(fā)送https請求,直接使用cloud.openapi.subscribeMessage.send即可
也就是說云開發(fā)的云調(diào)用能力都是可以通過HTTPS調(diào)用的方式來實(shí)現(xiàn),但是使用云調(diào)用卻方便很多。這里需要強(qiáng)調(diào)的是,要使用云調(diào)用有兩個(gè)步驟,一是在云函數(shù)的配置文件里添加接口權(quán)限(方法見下,后面章節(jié)也會介紹),二是用云函數(shù)來處理。
二、云函數(shù)的配置文件
使用云調(diào)用需要配置云調(diào)用權(quán)限,每個(gè)云函數(shù)需要聲明其會使用到的接口,否則無法調(diào)用,聲明的方法是在云函數(shù)目錄下的config.json配置文件的permissions.openapi 字段中增加要調(diào)用的接口名(對應(yīng)的接口名,可以去云調(diào)用的相關(guān)接口的文檔里查找),permissions.openapi 是個(gè)字符串?dāng)?shù)組字段,值必須為所需調(diào)用的服務(wù)端接口名稱。
在每次使用微信開發(fā)者工具上傳云函數(shù)時(shí)均會根據(jù)配置更新權(quán)限,該配置有10分鐘左右的緩存,如果更新后提示沒有權(quán)限,稍等10分鐘后再試。
如果你是在微信開發(fā)者工具通過“新建Nodejs云函數(shù)”創(chuàng)建的云函數(shù),云函數(shù)的目錄里就都會有config.json的配置文件,目錄結(jié)構(gòu)如下,如果你是通過其他方式創(chuàng)建的云函數(shù),也建議如下3個(gè)文件都要有(沒有的話,可以自己copy來創(chuàng)建):
test //云函數(shù)目錄
├── config.json //權(quán)限和定時(shí)觸發(fā)器等的配置文件
├── index.js //云函數(shù)
├── package.json //云函數(shù)的依賴管理
config.json文件還可以用來配置定時(shí)觸發(fā)器,比如該云函數(shù)需要使用到訂閱消息和內(nèi)容安全兩個(gè)權(quán)限,以及每5秒鐘定時(shí)發(fā)送一次訂閱消息,config.json的寫法如下:
{
"permissions": {
"openapi": [
"subscribeMessage.send",
"security.imgSecCheck"
]
},
"triggers": [
{
"name": "tomylove",
"type": "timer",
"config": "*/5 * * * * * *"
}
]
}
config.json配置文件的格式和前面介紹的json文件配置的格式一樣,比如數(shù)組最后一項(xiàng)不能有逗號,,配置文件里不能有注釋等,千萬不要寫錯(cuò)哦。
三、拓展能力快速入門
1、拓展能力的說明
拓展能力可以讓云開發(fā)更方便調(diào)用騰訊云的服務(wù),比如圖像處理、短信驗(yàn)證、數(shù)據(jù)庫,這些除了會使用到云開發(fā)的一些資源外(有免費(fèi)額度),還會使用到騰訊云的一些服務(wù),因此會產(chǎn)生一些費(fèi)用(也就是和云開發(fā)分開計(jì)費(fèi)),云開發(fā)資源的費(fèi)用可以去云開發(fā)控制臺查看;而使用騰訊云服務(wù)產(chǎn)生的額外費(fèi)用,可以去騰訊云費(fèi)用中心查看。
拓展能力還可以更方便使用騰訊云的賬號體系實(shí)現(xiàn)跨云開發(fā)資源、跨多端來調(diào)用,以及云開發(fā)團(tuán)隊(duì)為了方便開發(fā)者和運(yùn)營人員使用而開發(fā)的CMS內(nèi)容管理系統(tǒng)等等。和云調(diào)用一樣,拓展能力也會不斷增加一些更好用的功能。尤其是圖像處理能力、CMS內(nèi)容管理,強(qiáng)烈建議把這兩個(gè)作為云開發(fā)的核心拓展安裝一下。
2、拓展能力的安裝
要安裝拓展能力,我們需要登錄到騰訊云云開發(fā)的網(wǎng)頁控制臺,登錄時(shí)一定要選擇其他登錄方式-微信公眾號,然后掃碼授權(quán)選擇關(guān)聯(lián)的小程序賬戶進(jìn)行登錄。選擇云開發(fā)環(huán)境之后,就可以點(diǎn)擊左側(cè)拓展能力的管理菜單,安裝拓展能力到指定的云開發(fā)環(huán)境。
拓展能力的安裝,其實(shí)就是根據(jù)不同的拓展能力所對應(yīng)的服務(wù)執(zhí)行了以下一些步驟,可以讓開發(fā)者不必關(guān)注騰訊云一些過于復(fù)雜的概念或?qū)懺坪瘮?shù)等:
- 在騰訊云訪問管理添加了一些CAM角色,以及為這些角色授權(quán)了一些策略;不同的拓展能力可能所需要的騰訊云的權(quán)限是一樣的,所以創(chuàng)建的角色以及角色所需要授權(quán)的策略也就相同,建議不要隨便刪除;
- 在你指定的云開發(fā)環(huán)境里新建一些云函數(shù)(名稱為tcb_extension_ci或者以tcb開頭)、或者在云數(shù)據(jù)庫里創(chuàng)建一些集合(名稱也是以tcb開頭)等;由拓展能力創(chuàng)建的一些云函數(shù)、集合,我們是可以修改的,但是它們的名稱建議不要修改;
拓展能力可以根據(jù)需要安裝和卸載,即使安裝了只會占據(jù)云函數(shù)和集合的名額,不使用是不會產(chǎn)生費(fèi)用的;卸載時(shí)也是可以刪除這些角色和權(quán)限策略的(強(qiáng)烈建議不要刪除角色和權(quán)限策略)以及相應(yīng)的云函數(shù)和數(shù)據(jù)庫。卸載了還可以再次安裝。
注意,拓展能力的角色和權(quán)限策略是適用于所有云開發(fā)環(huán)境,也就是你在一個(gè)云開發(fā)環(huán)境安裝拓展能力時(shí)創(chuàng)建了角色和指定了權(quán)限策略,那在其他云開發(fā)環(huán)境就不需要再配置了;而云函數(shù)和云數(shù)據(jù)庫里的集合,還是需要你通過安裝來創(chuàng)建或者自己創(chuàng)建的。
網(wǎng)頁標(biāo)題:創(chuàng)新互聯(lián)小程序云教程:云開發(fā)云調(diào)用快速入門
文章網(wǎng)址:http://m.fisionsoft.com.cn/article/djpiipe.html


咨詢
建站咨詢
