# tap.authorize(Object object)

以 Promise 风格调用:支持

# 功能描述

提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小游戏使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。

# 参数

# Object object

属性类型默认值必填说明
scopestring需要获取权限的 scope,详见 scope 列表,不支持scope.userLocation、scope.werun权限,获取这两个权限会默认返回false
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

# 注意事项

  • 小游戏内使用 tap.authorize({scope: "scope.userInfo"}),不会弹出授权窗口,请使用 tap.createUserInfoButton
  • 需要授权 scope.userFuzzyLocation 时必须配置 地理位置用途说明。

# 示例代码

// 可以通过 tap.getSetting 先查询一下用户是否授权了 "scope.writePhotosAlbum" 这个 scope
tap.getSetting({
  success(res) {
    if (!res.authSetting['scope.writePhotosAlbum']) {
      tap.authorize({
        scope: 'scope.writePhotosAlbum',
        success () {
          // 用户已经同意保存到相册功能,后续调用 tap.saveImageToPhotosAlbum 接口不会弹窗询问
          tap.saveImageToPhotosAlbum()
        }
      })
    }
  }
})