Я хочу отправить push с сервера на устройство Huawei с интегрированным Huawei Push Kit. У меня есть deviceToken
с устройства, но когда я пытаюсь отправить push-сообщение с помощью API, я получаю сообщение об ошибке:
80300002: нет разрешения на отправку сообщения на эти tmID.
Эта ошибка может быть вызвана неправильным AppId
, используемым в URL-адресе API.
AppId
можно найти в консоли так: App Gallery Connect -> My projects -> YOUR_PROJECT -> Project settings
. На этом экране AppId
есть Application ID
, который можно найти над SHA-256
ваших ключей подписи.
Итак, рабочий запрос с использованием curl выглядит так (для push-уведомлений (показан в панели уведомлений)):
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
, см. этот вопрос: Как получить токен доступа для Huawei Api для отправки push на устройство?
Вы можете найти больше информации в документации: https://developer.huawei.com/consumer/en/doc/development/HMSCore-References-V5/https-send-api-0000001050986197-V5#EN-US_TOPIC_0000001070412173__section134322259125
@Чой, не знаю) Насколько я помню, без 2-х частей уведомлений не получится
зачем ему 2 "уведомления" в теле