onesignal 新的rest api(使用丰富的密钥)无法使用 php 和curl 命令

问题描述 投票:0回答:1

最新的 API 总是返回相同的响应

{"errors": ["Access denied. Please include an 'Authorization: ...' header with a valid API key (https://documentation.onesignal.com/docs/accounts-and-keys)."]}

这是curl命令

curl --request POST \
     --url 'https://api.onesignal.com/notifications' \
     --header 'Authorization: Key NEW_RICH_KEY_API' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "app_id": "APP_ID",
  "target_channel": "push",
  "headings": {"en": "English Title", "es": "Spanish Title"},
  "contents": {"en": "English Message", "es": "Spanish Message"},
  "include_subscription_ids": [
    "SUBSCRIBER_ID"
  ]
}
'

取决于 onesignal 文档(新的丰富密钥是这样的 os_v2_app_z4akfa25dza3hndyu4catxzjk2nadsy6nsgummfvtcvqeyhy4mjs7wcqjep6xuvvxx22k4r633d42vuzmzb3pbw5l7t4lom7fqakwki

旧密钥要短得多,请参阅 onesignal 文档 onesignaldocumentation

(2024 年 11 月 14 日,我们宣布了上述新的丰富 API 密钥系统,并开始弃用旧版 API 密钥。旧版用户 API 密钥将于 2025 年 3 月 1 日弃用,旧版应用程序 API 密钥将于第一季度弃用2026 年。临近这些日期时,我们将进行进一步沟通。

要继续使用 API,您的应用程序需要迁移到使用上述新的丰富 API 密钥。此迁移很简单,只需几分钟:

按照上述说明创建新的丰富 API 密钥。 更新代码库中的密钥,以便它使用新的丰富密钥,删除旧的旧密钥。 确保您的 API 请求使用 https://api.onesignal.com 而不是旧版 https://onesignal.com/api/v1/ URL。 单击应用程序密钥和 ID 页面中的“禁用旧密钥”按钮。)

这是我的 onesignal 配置页面 enter image description here

curl onesignal
1个回答
0
投票

通过他们系统上的一个信号解决了这个问题,所以这应该适用于任何人

curl --请求 POST
--url 'https://api.onesignal.com/notifications?c=push'
--header '授权:密钥 Rich_rest_API_KEY'
--header '接受:application/json'
--header '内容类型:application/json'
- 数据 ' { “内容”: { "zh": "您的消息放在这里。" }, "app_id": "appid", “include_subscription_ids”:[
“订阅者 ID” ] }' '''

© www.soinside.com 2019 - 2024. All rights reserved.