.. _authorize: :wxfrwk:`用户授权 ` ============================================= 部分接口需要经过用户授权同意才能调用。我们把这些接口按使用范围分成多个 scope , 用户选择对 scope 来进行授权,当授权给一个 scope 之后,其对应的所有接口都可以直接使用。 部分接口需要获得用户授权同意后才能调用。此类接口调用时: - 如果用户未接受或拒绝过此权限,会弹窗询问用户,用户点击同意后方可调用接口; - 如果用户已授权,可以直接调用接口; - 如果用户已拒绝授权,则不会出现弹窗,而是直接进入接口 fail 回调。请开发者兼容用户拒绝授权的场景。 获取用户授权设置 --------------------------- 开发者可以使用 :func:`wx.getSetting` 获取用户当前的授权状态。 打开设置界面 --------------------------- 用户可以在小程序设置界面(:menuselection:`「右上角」 - 「关于」 - 「右上角」 - 「设置」`)中控制对该小程序的授权状态。 开发者可以调用 :func:`wx.openSetting` 打开设置界面,引导用户开启授权。 提前发起授权请求 --------------------------- 开发者可以使用 :func:`wx.authorize` 在调用需授权 API 之前,提前向用户发起授权请求。 scope 列表 --------------------------- +--------------------------------+-----------------------------------------------------------------------+--------------+ | scope | 对应接口 | 描述 | +================================+=======================================================================+==============+ | :data:`scope.userInfo` | :func:`wx.getUserInfo` | 用户信息 | +--------------------------------+-----------------------------------------------------------------------+--------------+ | :data:`scope.userLocation` | :func:`wx.getLocation`, :func:`wx.chooseLocation` | 地理位置 | +--------------------------------+-----------------------------------------------------------------------+--------------+ | :data:`scope.address` | :func:`wx.chooseAddress` | 通讯地址 | +--------------------------------+-----------------------------------------------------------------------+--------------+ | :data:`scope.invoiceTitle` | :func:`wx.chooseInvoiceTitle` | 发票抬头 | +--------------------------------+-----------------------------------------------------------------------+--------------+ | :data:`scope.invoice` | :func:`wx.chooseInvoice` | 获取发票 | +--------------------------------+-----------------------------------------------------------------------+--------------+ | :data:`scope.werun` | :func:`wx.getWeRunData` | 微信运动步数 | +--------------------------------+-----------------------------------------------------------------------+--------------+ | :data:`scope.record` | :func:`wx.startRecord` | 录音功能 | +--------------------------------+-----------------------------------------------------------------------+--------------+ | :data:`scope.writePhotosAlbum` | :func:`wx.saveImageToPhotosAlbum`, :func:`wx.saveVideoToPhotosAlbum` | 保存到相册 | +--------------------------------+-----------------------------------------------------------------------+--------------+ | :data:`scope.camera` | 组件 | 摄像头 | +--------------------------------+-----------------------------------------------------------------------+--------------+ .. attention:: #. :func:`wx.authorize`({scope: " :data:`scope.userInfo`"}),不会弹出授权窗口,请使用