HarmonyOS鸿蒙Next中如何实现QQ登录

HarmonyOS鸿蒙Next中如何实现QQ登录

在QQ互联平台配置好了应用,拿到了appid,为什么放到项目里还是提示【未注册】

image


更多关于HarmonyOS鸿蒙Next中如何实现QQ登录的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

开发者您好!

【解决方案】

  • AppLinking:HarmonyOS应用链接,参考开发者官网开通AppLinking服务指南,配置完成后再填写到QQ互联开放平台校验。
  • bundleName:HarmonyOS应用包名,对应app.json5文件中配置的bundleName字段。
  • 安装包签名:HarmonyOS应用签名信息,获取方式参考QQ互联平台HarmonyOS_SDK常见问题。 注:对于fingerprint,每次更换签名信息时会发生变化,建议通过日志打印的方式获取正式版签名对应的fingerprint字段,后续可以通过邀请测试的方式进行测试。

更多关于HarmonyOS鸿蒙Next中如何实现QQ登录的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS_SDK常见问题

登录提示“未注册鸿蒙应用信息,前往官网注册”

确认互联应用是否完善鸿蒙配置AppLinking、BundleName、fingerprint。

AppLinking:(鸿蒙对比 iOS universal link 设计的)

你的 AppLinking 是否生效了?

直达应用市场链接配置后不是即时生效的,一般要24小时生效,也有可能出现48小时生效的情况。

applinking生效了,包名和应用签名都配置了,

检查下能否通过 Applinking 拉起你的应用。也可以试试重启手机。

applinking生效了,

基本信息
- 状态: 已启用
- 类型: 深色模式
- 说明: 应用链接已成功配置并生效。
  
深色代码主题

在HarmonyOS Next中实现QQ登录需要使用OpenHarmony的OAuth能力。通过集成QQ开放平台的SDK,调用其提供的授权接口获取access_token。具体步骤:

  1. 在QQ开放平台创建应用获取AppID
  2. 使用@ohos.web.webview加载QQ登录页面
  3. 通过Web组件拦截回调URL获取授权码
  4. 用授权码向QQ服务器请求访问令牌
  5. 使用@ohos.net.http发起API请求获取用户信息

关键代码涉及Web组件的onUrlLoad回调处理,使用http模块发送POST请求交换token。注意配置正确的manifest权限和签名。

根据您的情况,出现"未注册"提示通常有以下几种可能原因:

  1. 应用签名问题:
  • 确保在QQ开放平台填写的应用签名与您实际打包的签名完全一致
  • HarmonyOS应用需要使用正确的签名配置
  1. 配置遗漏:
  • 检查是否在config.json中正确配置了QQ的ability和权限
  • 需要添加必要的网络权限和QQ登录所需的权限声明
  1. 包名不一致:
  • QQ开放平台注册的包名必须与项目中的包名完全匹配
  • 注意大小写敏感问题
  1. 环境问题:
  • 确认使用的是正式环境appid而非测试环境id
  • 检查QQ互联SDK是否是最新版本

建议检查步骤:

  1. 重新核对QQ开放平台和应用中的包名、签名信息
  2. 清理项目缓存后重新编译
  3. 检查网络请求是否正常发出

如果以上检查无误仍存在问题,建议提供更详细的错误日志以便进一步分析。

回到顶部