# 小程序地理位置接口申请与使用指引
为进一步规范开发者调用涉及用户信息相关接口或功能,保障用户合法权益,平台于 2022 年 4 月 18 日开始对地理位置相关接口调用实行准入开通。公告详情可查看《小程序地理位置相关接口调整》以及《地理位置接口新增与相关流程调整》。
如果小程序在代码中使用了地理位置相关接口,但未申请对应权限或未按照开发文档在 requiredPrivateInfos 中声明,都将无法提交代码审核。可查看下方说明了解如何申请小程序地理位置接口权限及正确使用。
# 申请权限
- 可通过 applyPrivacyInterface 接口申请地理位置相关 API 的权限。注意,
api_name参数需要填写正确的接口名称,区分大小写。 - 在提交申请前,可通过 getPrivacyInterface 接口查看有哪些地理位置相关的 API。
- 提交申请后,审核结果会推送至「第三方平台 - 开发资料 - 消息与事件 URL」。
- 提交审核后,也可以通过 getPrivacyInterface 接口查看审核结果、驳回原因等信息。
# 使用接口
在代码中使用的地理位置相关接口,开发者均需要在 commit 接口 的 ext_json 参数中使用 requiredPrivateInfos 配置项进行声明,代码格式如下:
{
"template_id": "95",
"ext_json": "{\"requiredPrivateInfos\":[\"onLocationChange\",\"startLocationUpdate\"]}",
"user_version": "V1.0",
"user_desc": "test"
}
# 常见问题
报错 61039:检测任务尚未结束
61039 表示上传代码后,检测任务尚未结束,开发者就提交了代码审核。
- 可通过 getCodePrivacyInfo 接口获取检测结果,确认检测任务结束后再提交代码审核。
- 注意:不要将上传代码和提交代码审核两个接口一起重试,否则每次上传代码后的检测任务未结束又发起新的检测任务,依旧会出现
61039报错。
报错 61040:地理位置接口权限或声明缺失
出现 61040 报错的常见原因如下:
- 代码里使用了地理位置相关接口,但尚未在
ext_json参数中配置requiredPrivateInfos。此时,重新上传代码并按照要求配置requiredPrivateInfos即可。 - 代码里使用了地理位置相关接口,但该小程序 AppID 未获得对应地理位置 API 的权限。
ext_json配置了地理位置相关接口,但该小程序 AppID 未获得对应地理位置 API 的权限。
如果确认不需要使用地理位置相关接口,则无需申请权限,只需通过提交代码审核接口中的 privacy_api_not_use 参数声明不使用即可。如果确认需要使用该 API,则需通过 applyPrivacyInterface 接口申请地理位置相关 API 的权限,审核通过后再提交代码审核。