(内容基本与官方文档相同,只是在自己博客地址誊写一遍,诸君勿怪)
在微信开发时,我们需要调用一些接口,而有一些接口,只有在取得用户的授权同意后,我们才可以调用。微信团队把这些接口按使用范围分成多个scope,用户选择scope进行授权,当授权给一个scope之后,其对应的所有接口都可以直接使用。
此类接口调用时,
- 如果用户未接受或者拒绝过此权限,会弹窗询问用户,用户点击同意后方可调用;
- 如果用户已经授权,可以直接调用接口
- 如果用户已拒绝授权,则不会出现弹窗,进入接口fail回调。
获取授权状态,
- 开发者可以通过 wx.getSetting获取用户的授权状态
- 用户可以在小程序设置界面中控制对该小程序的授权状态
开发者可以使用wx.authorize在调用需授权的API之前,提前向用户发起授权请求。
scope列表
用户信息
- scope scope.userInfo
- 对应接口 wx.getUserInfo
地理位置
- scope. userLocation
- wx.getLocation,wx.chooseLocation
通讯地址
- scope.address
- wx.chooseAddress
授权有效期
一旦用户明确同意或拒绝过授权,其授权关系就会被记录在后台,直到用户主动删除小程序