小程序开放平台

文档中心
起步
目录
配置小程序
小程序框架
小程序运行时
自定义组件
基础能力
开放能力
授权
小程序登录
开放数据校验与解密
获取手机号
客服消息
分享
转发
关注
专业号主页自定义商品排序
场景值
获取 POI 来源
性能优化
转发
事件回调
基础库
调试
数据分析
服务端调试

授权

开发
>
指南
>
开放能力
>
授权
>
更新时间:2024-11-28 14:39:27

部分接口需要经过用户授权同意才能调用。我们把这些接口按使用范围分成多个

scope
,用户选择对
scope
来进行授权,当授权给一个
scope
之后,其对应的所有接口都可以直接使用。

获取用户授权设置

开发者可以使用 xhs.getSetting 获取用户当前的授权状态。

打开设置界面

用户可以在小程序设置界面(「右上角」 - 「关于」 - 「右上角」 - 「设置」)中控制对该小程序的授权状态。

开发者可以调用 xhs.openSetting 打开设置界面,引导用户开启授权。

提前发起授权请求

开发者可以使用 xhs.authorize 在调用需授权 API 之前,提前向用户发起授权请求。

scope 列表

scope
对应接口
描述
scope.userInfoxhs.getUserInfo用户信息
scope.userLocationxhs.getLocation, xhs.chooseLocation地理位置
scope.userLocationBackgroundxhs.startLocationUpdateBackground后台定位
scope.writePhotosAlbumxhs.saveImageToPhotosAlbum保存到相册
scope.cameraxhs.scanCode摄像头

授权有效期

一旦用户明确同意或拒绝过授权,其授权关系会记录在后台,下次打开,依然沿用之前的授权记录。

最佳实践

  • 在真正需要使用授权接口时,才向用户发起授权申请,并在授权申请中说明清楚要使用该功能的理由。
  • 交易主链路中,避免多次授权,打断用户。
  • 交易主链路中,用户拒绝授权,不应打断主链路。
  • 服务商场景下,按照一号一店一小程序进行授权,小程序间授权不允许打通。

注意事项

  1. xhs.authorize({scope: "scope.userInfo"})
    ,不会弹出授权窗口,请使用
    <button open-type="getUserInfo"/>
  2. 需要授权 scope.userLocation、scope.userLocationBackground 时必须配置地理位置用途说明