# ks.authorize

更新时间:2024-09-29 21:58:36

基础库1.26.1开始支持,低版本需做兼容处理

开发者工具1.22.0开始支持

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

# authorize(options: AuthorizeOptions): Promise<void>

# 参数

参数 类型 必填
options AuthorizeOptions

# AuthorizeOptions

属性
属性 类型 必填 说明
scope 'scope.userInfo' | 'scope.userLocation' | 'scope.userLocationBackground' | 'scope.record' | 'scope.writePhotosAlbum' | 'scope.camera' 需要获取的权限
success (result: void) => void 接口调用成功的回调函数
fail (error: APIError) => void 接口调用失败的回调函数
complete (resultOrError: void | APIError) => void 接口调用结束的回调函数(调用成功、失败都会执行)
scope

需要获取的权限

说明
'scope.userInfo' 用户信息权限
'scope.userLocation' 地理位置权限
'scope.userLocationBackground' 后台定位权限
'scope.record' 录音权限
'scope.writePhotosAlbum' 保存到相册权限
'scope.camera' 相机权限

# 返回值

# Promise<void>

# 错误信息

错误信息 错误说明
Invalid app 应用不存在
beyond token/app/authorized scope 请求被拒绝,可能是无效token或应用/用户不允许访问该接口
not exist user 用户信息不存在
invalid scope 请求授权的scope错误

# Bug & Tip

Tip:获取'scope.userInfo'授权前需要调用ks.login获取登录态,否则会报errMsg: "authorize:fail session expired"错误

Tip:获取'scope.userLocation授权需要在app.json配置,否则会报错errMsg: "authorize:fail 小程序未在 AppConfig 中注册该权限"

{
"pages": [
     "pages/index/index"
 ],
 "permission": {
     "scope.userLocation": {
         "desc": "你的位置信息将用于小程序位置接口的效果展示"
     }
 }
}

# 扫码体验

# 示例代码

Copyright ©2024, All Rights Reserved