无法发送通知[错误:80300002](HMS Core推送服务)-Web App

Jes*_*e S 5 huawei-mobile-services

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

{ 
  "msg": "No permission to send message to these tmIDs", 
  "code": 80300002
}
Run Code Online (Sandbox Code Playgroud)

我已联系客户服务并被指向以下 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:订阅

使用控制台中的 OAuth 2.0 客户端 ID/秘密(“凭据”)从以下 URL 检索访问令牌:

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

我还从控制台申请了华为帐号(应用服务 > 开发 > 华为帐号,使用相同的 OAuth 2.0 客户端 ID/密钥)。

我为排除故障所做的事情:

  • 启用推送套件(控制台级别和项目级别)
  • 删除反斜杠 (\) 并进行 URL 编码的访问令牌
  • 服务器位置:新加坡(推送套件已禁用并按照建议重新启用)
  • POST 请求主体包含一个 JSON 主体,只有 2 个属性topic(字符串)和tokenArray(字符串数组,例如["token1", "token2"]
  • POST 请求标头Authorization: Bearer <access_token>
  • POST 请求标头Content-Type: application/json
  • 使用“云调试”功能进行调试。
  • 在运行 Android 11 的模拟器上测试(API 级别 30,HMS Core 5.0.3.304)
  • 在运行 EMUI 8.0(使用 Google Play 服务)的华为设备上进行测试
  • 在 Android Chrome 87(设备)、Android Chrome 83(模拟器)上测试

zha*_*hen 1

请在Web应用的项目下创建一个Android应用,并通过Android应用的appid和appsecret获取access_token 。然后可以将access_token传递到发送接口中。