如何使用Huawei Push Kit API向华为设备推送?
How to send push to Huawei device using Huawei Push Kit API?
我想从服务器向集成了华为推送服务的华为设备发送推送。我有来自设备的 deviceToken
,但是当我尝试使用 API 发送推送消息时,我收到错误消息:
80300002: No permission to send message to these tmIDs
此错误可能是由于 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
请看这个问题:
我想从服务器向集成了华为推送服务的华为设备发送推送。我有来自设备的 deviceToken
,但是当我尝试使用 API 发送推送消息时,我收到错误消息:
80300002: No permission to send message to these tmIDs
此错误可能是由于 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
请看这个问题: