uni-app 抖音小程序获取手机号始终返回拒绝
uni-app 抖音小程序获取手机号始终返回拒绝
示例代码:
<button
class="mobile-but"
type="default"
open-type="getPhoneNumber"
@getphonenumber="getPhoneNumberHandler">
点击获取手机号
</button>
操作步骤:
- 点击按钮获取手机号
预期结果:
- 返回密文
实际结果:
- 返回的错误信息:getPhoneNumber:fail auth deny
bug描述:
抖音小程序获取手机号,点同意了,还是返回拒绝。在微信小程序上是正常的。附件里有视频
返回的具体参数如下:
{
"type": "getphonenumber",
"timeStamp": 200490.5,
"target": {
"id": "",
"dataset": {},
"offsetLeft": 35,
"offsetTop": 0,
"errMsg": "getPhoneNumber:fail auth deny"
},
"currentTarget": {
"id": "",
"dataset": {},
"offsetLeft": 35,
"offsetTop": 0
},
"detail": {
"errMsg": "getPhoneNumber:fail auth deny"
},
"touches": [],
"changedTouches": []
}
附件:
| 项目信息 | 描述 |
|---|---|
| 产品分类 | uniapp/小程序/字节跳动 |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | Windows 11 家庭中文版 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.98 |
| 第三方开发者工具版本号 | 抖音开发者工具v4.17 |
| 基础库版本号 | 3.2.0.11 |
| 项目创建方式 | HBuilderX |
更多关于uni-app 抖音小程序获取手机号始终返回拒绝的实战教程也可以访问 https://www.itying.com/category-93-b0.html
抖音小程序需要通过试运营期后才能用getphonenumber
参考文档1: https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/guide/open-capabilities/acquire-phone-number-acquire/
参考文档2: https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/operation/platform-capabilities/abtain-mobile-number/obtain-permission-application/
参考文档3: https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/open-capacity/basic-capacities/obtain-mobilenumber#申请信息填写
更多关于uni-app 抖音小程序获取手机号始终返回拒绝的实战教程也可以访问 https://www.itying.com/category-93-b0.html
已经通过试运营期了
这是在模拟器里,我用抖音提供是示例代码(原生的)可以正常获取手机号
回复 敲代码: 原生代码可以 但是通过uniapp编译后的就获取不到 是这样吗?
回复 爱豆豆: 在模拟器里就获取不到
回复 爱豆豆: 当抖音官方提供的代码片段在模拟器就没问题
回复 敲代码: 你把弄个可以复现这个问题demo 发出来 或者将你的项目去除敏感页面后发出来 我试试
代码片段 登陆按钮点不点都可以
<template>
<view>
<button @tap=“login”>登录</button>
<button open-type=“getPhoneNumber” @getphonenumber=“getphonenumber”>获取手机号</button>
</view>
</template>
刚测试一下。新建的项目可以,在目前这个项目就不行,不知道啥原因
我在新建个页面试试
新建个页面也不行,奇怪了
回复 敲代码: 能发出来吗?去除一下敏感页面
回复 爱豆豆: 稍等一会,我看看能不能发。您先吃饭
回复 爱豆豆: 或者把您的邮箱发我,我把项目发您邮箱
回复 敲代码: 2087592068@qq.com
回复 爱豆豆: 邮件发您了
你看我的 uniapp编译就可以正常获取
你看下 是可以获取到的
hbx版本: 3.99 抖音调试库版本:2.86.0.9
你把APPID改成测试号试一下 我感觉应该是你小程序没这个权限
回复 爱豆豆: 你用测似乎号可以获取吗?
回复 敲代码: 啥原因呢?是账号的问题吧?
回复 爱豆豆: 对是账号问题
@爱豆豆 这是抖音提供的原生代码片段,可以正常获取。用uniapp开发的,在抖音开发者工具里就不行
抖音小程序通过试运营需要多久
在 uni-app 开发抖音小程序时,获取用户手机号失败并始终返回拒绝,可能是由于以下几个原因导致的。以下是一些可能的原因和解决方法:
1. 权限配置问题
- 原因: 抖音小程序获取手机号需要用户授权,如果用户拒绝授权,或者开发者未正确配置权限,可能会导致获取失败。
- 解决方法:
- 确保在
manifest.json文件中正确配置了getPhoneNumber权限。
"mp-douyin": { "permission": { "scope.userPhoneNumber": { "desc": "获取手机号" } } }- 在小程序的页面中,使用
button组件并设置open-type="getPhoneNumber"来触发获取手机号的逻辑。
- 确保在
2. 用户拒绝授权
- 原因: 用户在弹窗中选择了拒绝授权,导致获取手机号失败。
- 解决方法:
- 在用户拒绝授权后,可以引导用户重新授权。可以通过弹窗提示用户授权的重要性,并引导用户再次尝试。
- 可以在
getPhoneNumber的回调中处理用户拒绝的情况,并提示用户重新授权。
3. 回调函数处理不当
- 原因: 在
getPhoneNumber的回调函数中,没有正确处理授权结果,导致无法获取手机号。 - 解决方法:
- 确保在
getPhoneNumber的回调函数中正确处理授权结果。以下是一个示例:
<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber"></button> methods: { getPhoneNumber(e) { if (e.detail.errMsg === 'getPhoneNumber:ok') { // 用户同意授权,处理获取到的手机号 const encryptedData = e.detail.encryptedData; const iv = e.detail.iv; // 将 encryptedData 和 iv 发送到服务器解密 } else { // 用户拒绝授权或授权失败 console.log('用户拒绝授权或授权失败'); } } } - 确保在


