【发布时间】:2021-03-29 06:41:47
【问题描述】:
我想将推送从服务器发送到集成了华为推送套件的华为设备。我有来自设备的deviceToken,但是当我尝试使用 API 发送推送消息时收到错误:
80300002:无权向这些 tmID 发送消息
【问题讨论】:
标签: android huawei-mobile-services huawei-developers huawei-push-notification
我想将推送从服务器发送到集成了华为推送套件的华为设备。我有来自设备的deviceToken,但是当我尝试使用 API 发送推送消息时收到错误:
80300002:无权向这些 tmID 发送消息
【问题讨论】:
标签: android huawei-mobile-services huawei-developers huawei-push-notification
这个错误可能是错误的AppId,在API url路径中使用。
AppId 可以在控制台中找到,因此:App Gallery Connect -> My projects -> YOUR_PROJECT -> Project settings。在此屏幕上AppId 是Application ID,可以在您的签名密钥SHA-256 上方找到。
因此,使用curl 的工作请求看起来像(用于通知推送(显示在通知栏中)):
curl --location --request POST 'https://push-api.cloud.huawei.com/v1/APP_ID_FROM_CONSOLE/messages:send' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"validate_only": false,
"message": {
"notification": {
"title": "Hello!",
"body": "Hello, shirley!",
"click_action": {
"type": 3
}
},
"android": {
"urgency": "NORMAL",
"ttl": "10000s",
"notification": {
"title": "Hello!",
"body": "Hello, shirley!",
"click_action": {
"type": 3
}
}
},
"token": [
"DEVICE_TOKEN"
]
}
}'
要获取ACCESS_TOKEN,请参阅此问题:How to get access token for Huawei Api for sending push to device?
【讨论】: