huawei-mobile-services - 无法发送通知 [错误 : 80300002] (HMS Core Push Kit) - Web App

标签 huawei-mobile-services

我有一个 网络应用程序 向手机浏览器发送推送通知的项目。我已成功从我的 中检索到推送 token 华为设备但无法从我的服务器通过 HMS Push Kit 发送通知,得到一个 HTTP 401 并且错误正文包含:

{ 
  "msg": "No permission to send message to these tmIDs", 
  "code": 80300002
}
我已经联系了客户服务并被指向以下 URL,我做了那里列出的所有内容,但仍然出现相同的错误。

https://developer.huawei.com/consumer/jp/doc/development/HMSCore-Guides-V5/commonerror-0000001059816656-V5


这是返回错误的 URL (POST)(从我的服务器发送,使用项目设置中的应用程序 ID):

https://push-api.cloud.huawei.com/v1/my_app_id_from_project_settings/topic:subscribe


访问 token 是使用来自控制台的 OAuth 2.0 客户端 ID/ secret (“凭据”)从以下 URL 检索的:

https://oauth-login.cloud.huawei.com/oauth2/v3/token


我还从控制台申请了华为帐号(应用服务 > 开发 > 华为帐号,使用相同的 OAuth 2.0 Client ID/secret)。
我为故障排除做了什么:
  • 推送套件已启用( 控制台 级别和 项目 级别)
  • 删除了反斜杠 (\) 并使用 URL 编码的访问 token
  • 服务器位置:新加坡 (按建议禁用并重新启用推送套件)
  • POST 请求正文和 JSON 正文,只有 2 个属性 topic (字符串)和 tokenArray (字符串数组,例如 ["token1", "token2"] )
  • 带有 Authorization: Bearer <access_token> 的 POST 请求 header
  • 带有 Content-Type: application/json 的 POST 请求 header
  • 使用“云调试”功能进行调试。
  • 在运行 Android 11(API 级别 30,HMS Core 5.0.3.304)的模拟器上测试
  • 在运行 EMUI 8.0(使用 Google Play 服务)的华为设备上测试
  • 在 Android Chrome 87(设备)、Android Chrome 83(模拟器)上测试
  • 最佳答案

    请在web应用项目下创建Android应用,获取 access_token 使用 Android 应用程序的 appid 和 appsecret。然后是 access_token 可以传入send接口(interface)。

    关于huawei-mobile-services - 无法发送通知 [错误 : 80300002] (HMS Core Push Kit) - Web App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65504542/

    相关文章:

    android-studio - HMS 工具包转换(G+H、HMS API 1st)库(xmsadapter)无法导入

    android - HMS FusedLocationProvider 和 HuaweiMap 不工作

    android - 在华为 P30 上使用 Intent 打开 App Launch

    firebase - 我们可以将Sentry与NoGMS一起使用吗

    android - 如何将心率数据从智能手环传输到 Android 应用程序

    android - 华为、荣耀手机电池优化、前台服务

    react-native - Huawei Map Kit React Native 不渲染 map

    android - 华为 Android Logcat 不显示日志

    android - 如何接收华为运动健康App的数据?

    java - Android 操作系统中 DatePicker 中 setFirstDayOfWeek() 的 Harmony OS 替代方法是什么?