# 获取小程序用户隐私保护指引

调试诊断

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:getPrivacySetting

  • 本接口用于查询第三方代开发小程序的用户隐私保护指引,也可以用来查询有哪些privacy_key可以进行配置

  • 使用过程中如遇到问题,可在开放平台服务商专区发帖交流。

# 1. 调用方式

# HTTPS 调用

POST https://api.weixin.qq.com/cgi-bin/component/getprivacysetting?access_token=ACCESS_TOKEN

# 云调用

  • 本接口不支持云调用

# 第三方调用

  • 本接口支持第三方平台代商家调用。

  • 该接口所属的权限集 id 为:18

  • 服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。

# 2. 请求参数

# 查询参数 Query String parameters

参数名类型必填说明
access_tokenstring接口调用凭证,可使用 authorizer_access_token

# 请求体 Request Payload

参数名类型必填说明
privacy_vernumber1表示现网版本,即,传1则该接口返回的内容是现网版本的;2表示开发版,即,传2则该接口返回的内容是开发版本的。默认是2。

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber返回码
errmsgstring错误信息
code_existnumber代码是否存在, 0 不存在, 1 存在 。如果最近没有通过commit接口上传代码,则会出现 code_exist=0的情况。
privacy_listarray代码检测出来的用户信息类型(privacy_key)
setting_listobjarray要收集的用户信息配置
update_timenumber更新时间
owner_settingobject收集方(开发者)信息配置
privacy_descobject用户信息类型对应的中英文描述
sdk_privacy_info_listobjarray该小程序中引用了第三方sdk的信息说明

# Res.setting_list(Array) Object Payload

要收集的用户信息配置

参数名类型说明
privacy_keystring官方的可选值参考下方说明;该字段也支持自定义。同适用于sdk收集的信息描述。
privacy_textstring请填写收集该信息的用途。例如privacy_key=Location(位置信息),那么privacy_text则填写收集位置信息的用途。无需再带上“为了”或者“用于”这些字眼,小程序端的显示格式是为了xxx,因此开发者只需要直接填写用途即可。同适用于sdk收集的信息用途描述。

# Res.owner_setting Object Payload

收集方(开发者)信息配置

参数名类型说明
contact_phonestring信息收集方(开发者)的手机号,4种联系方式至少要填一种
contact_emailstring信息收集方(开发者)的邮箱地址,4种联系方式至少要填一种
contact_qqstring信息收集方(开发者)的qq号,4种联系方式至少要填一种
contact_weixinstring信息收集方(开发者)的微信号,4种联系方式至少要填一种
store_expire_timestampstring存储期限,指的是开发者收集用户信息存储多久。如果不填则展示为【开发者承诺,除法律法规另有规定,开发者对你的信息保存期限应当为实现处理目的所必要的最短时间】,如果填请填数字+天,例如“30天”,否则会出现87072的报错。
ext_file_media_idstring如果开发者不使用微信提供的标准化用户隐私保护指引模板,也可以上传自定义的用户隐私保护指引,通过uploadPrivacySetting接口上传后可获取media_id
notice_methodstring通知方式,指的是当开发者收集信息有变动时,通过该方式通知用户。这里服务商需要按照实际情况填写,例如通过弹窗或者公告或者其他方式。
store_regionnumber存储地区;境外主体小程序需要补充「用户隐私保护指引」中「存储地区」的相关信息,否则小程序审核会被驳回。

# Res.sdk_privacy_info_list(Array) Object Payload

该小程序中引用了第三方sdk的信息说明

参数名类型说明
sdk_namestringsdk的名称
sdk_biz_namestringsdk提供方的主体名称
sdk_listobjarraysdk收集的信息以及用途

# Res.sdk_privacy_info_list(Array).sdk_listObject Payload

sdk收集的信息以及用途

参数名类型说明
privacy_keystring官方的可选值参考下方说明;该字段也支持自定义。同适用于sdk收集的信息描述。
privacy_textstring请填写收集该信息的用途。例如privacy_key=Location(位置信息),那么privacy_text则填写收集位置信息的用途。无需再带上“为了”或者“用于”这些字眼,小程序端的显示格式是为了xxx,因此开发者只需要直接填写用途即可。同适用于sdk收集的信息用途描述。

# 4. 注意事项

# 其他说明

1、开发版指的是通过setprivacysetting接口已经配置的用户隐私保护指引内容,但是还没发布到现网,还没正式生效的版本。

2、现网版本指的是已经在小程序现网版本已经生效的用户隐私保护指引内容。

3、如果不传privacy_ver,要传个空的json,否则会报错

# 5. 代码示例

请求示例

{
  "privacy_ver": 2
}

返回示例

{
  "errcode": 0,
  "errmsg": "ok",
  "code_exist": 1,
  "privacy_list": [
    "UserInfo"
  ],
  "setting_list": [
    {
      "privacy_key": "EXIDNumber",
      "privacy_text": "用来登记会员信息xxx",
      "privacy_label": ""
    },
    {
      "privacy_key": "UserInfo",
      "privacy_text": "用来展示你的xxxx",
      "privacy_label": ""
    }
  ],
  "update_time": 1641548861,
  "owner_setting": {
    "contact_phone": "",
    "contact_email": "melody4444@qq.com",
    "contact_qq": "11111111",
    "contact_weixin": "",
    "store_expire_timestamp": "10000天",
    "ext_file_media_id": "",
    "notice_method": "弹窗222"
  },
  "privacy_desc": {
    "privacy_desc_list": [
      {
        "privacy_key": "UserInfo",
        "privacy_desc": "用户信息(微信昵称、头像)"
      },
      {
        "privacy_key": "Location",
        "privacy_desc": "位置信息"
      },
      {
        "privacy_key": "Address",
        "privacy_desc": "地址"
      },
      {
        "privacy_key": "Invoice",
        "privacy_desc": "发票信息"
      },
      {
        "privacy_key": "RunData",
        "privacy_desc": "微信运动数据"
      },
      {
        "privacy_key": "Record",
        "privacy_desc": "麦克风"
      },
      {
        "privacy_key": "Album",
        "privacy_desc": "选中的照片或视频信息"
      },
      {
        "privacy_key": "Camera",
        "privacy_desc": "摄像头"
      },
      {
        "privacy_key": "PhoneNumber",
        "privacy_desc": "手机号"
      },
      {
        "privacy_key": "Contact",
        "privacy_desc": "通讯录(仅写入)权限"
      },
      {
        "privacy_key": "DeviceInfo",
        "privacy_desc": "设备信息"
      },
      {
        "privacy_key": "EXIDNumber",
        "privacy_desc": "身份证号码"
      },
      {
        "privacy_key": "EXOrderInfo",
        "privacy_desc": "订单信息"
      },
      {
        "privacy_key": "EXUserPublishContent",
        "privacy_desc": "发布内容"
      },
      {
        "privacy_key": "EXUserFollowAcct",
        "privacy_desc": "所关注账号"
      },
      {
        "privacy_key": "EXUserOpLog",
        "privacy_desc": "操作日志"
      },
      {
        "privacy_key": "AlbumWriteOnly",
        "privacy_desc": "相册(仅写入)权限"
      },
      {
        "privacy_key": "LicensePlate",
        "privacy_desc": "车牌号"
      },
      {
        "privacy_key": "BlueTooth",
        "privacy_desc": "蓝牙"
      },
      {
        "privacy_key": "CalendarWriteOnly",
        "privacy_desc": "日历(仅写入)权限"
      },
      {
        "privacy_key": "Email",
        "privacy_desc": "邮箱"
      },
      {
        "privacy_key": "MessageFile",
        "privacy_desc": "选中的文件"
      },
      {
        "privacy_key": "ChooseLocation",
        "privacy_desc": "选择的位置信息"
      },
      {
        "privacy_key": "Accelerometer",
        "privacy_desc": "加速传感器"
      },
      {
        "privacy_key": "Compass",
        "privacy_desc": "磁场传感器"
      },
      {
        "privacy_key": "DeviceMotion",
        "privacy_desc": "方向传感器"
      },
      {
        "privacy_key": "Gyroscope",
        "privacy_desc": "陀螺仪传感器"
      },
      {
        "privacy_key": "Clipboard",
        "privacy_desc": "剪切板"
      }
    ]
  },
  "sdk_privacy_info_list": [
    {
      "sdk_name": "测试sdk",
      "sdk_biz_name": "小麦有限公司",
      "sdk_list": [
        {
          "privacy_key": "自定义",
          "privacy_text": "用来展示你的美貌",
          "privacy_label": "头像信息"
        }
      ]
    }
  ]
}

# 6. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。

错误码错误描述解决方案
0okok

# 7. 适用范围

本接口支持「第三方平台」账号类型代调用,权限集请参考「调用方式」部分。其他账号类型如无特殊说明,均不可调用。