權限
部分介面需要經過使用者授權同意才能呼叫。我們把這些介面依使用範圍分成多個 scope ,使用者選擇對 scope 來進行授權,當授權給一個 scope 之後,其對應的所有介面都可以直接使用。
此類接口呼叫時:
- 若用戶未接受或拒絕此權限,會彈出視窗詢問用戶,使用者點選同意後方可呼叫介面;
- 如果用戶已授權,可以直接調用接口;
- 如果使用者已拒絕授權,則不會出現彈跳窗,而是直接進入介面 fail 回呼。請開發者相容於使用者拒絕授權的場景。
獲取用戶授權設定
開發者可以使用wx.getSetting獲取用戶當前的授權狀態。
打開設定介面
用戶可以在小程序設定介面(「右上角」-「設定」)中控制對該小程序的授權狀態。
開發者可以調用wx.openSetting打開設定介面,引導用戶開啟授權。
提前發起授權請求
開發者可以使用wx.authorize在調用需授權API之前,提前向用戶發起授權請求。
scope清單
| scope | 對應接口 | 描述 |
|---|---|---|
| scope.userInfo | wx.getUserInfo | 用戶資訊 |
| scope.userLocation | wx.getLocation | 獲取地理位置資訊。 |
| scope.userFuzzyLocation | wx.getFuzzyLocation | 獲取模糊地理位置資訊。 |
| scope.writePhotosAlbum | wx.saveImageToPhotosAlbum | 是否授權保存到相册 wx.saveImageToPhotosAlbum |
授權有效期
一旦用戶明確同意或拒絕過授權,其授權關係會記錄在用戶端本地,直到删除小程序。
使用建議
在真正需要使用授權接口時,才向用戶發起授權申請,並在授權申請中說明清楚要使用該功能的理由。