Проблема: ошибка 403 Forbidden при отправке уведомления через OneSignalPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проблема: ошибка 403 Forbidden при отправке уведомления через OneSignal

Сообщение Anonymous »

Описание:

Я столкнулся с ошибкой 403 Forbidden при попытке отправить уведомление с помощью функции OneSignal::sendNotificationToUser в Laravel. Сообщение об ошибке предполагает, что запрос отклонен из-за отсутствия или недействительного ключа API в заголовке авторизации. Ниже приведено сообщение об ошибке из исключения:

Код: Выделить всё

Client error: `POST https://onesignal.com/api/v1/notifications` resulted in a `403 Forbidden` response:
{"errors": ["Access denied. Please include an 'Authorization: Basic ...' header with a valid API key"]}

Пример кода:

Вот код, который я использую для отправки уведомления:

Код: Выделить всё

try {
OneSignal::sendNotificationToUser(
$message,
$player_id,
$url = null,
$data = null,
$buttons = null,
$schedule = null
);
} catch (\Exception $e) {
return response()->json([
"error" => 'one_signal_error',
"message" => $e->getMessage(),
"file" => $e->getFile(),
"line" => $e->getLine(),
], 422);
}

Сообщение об ошибке:

Код: Выделить всё

{
"error": "one_signal_error",
"message": "Client error: `POST https://onesignal.com/api/v1/notifications` resulted in a `403 Forbidden` response:\n{\"errors\": [\"Access denied.  Please include an 'Authorization: Basic ...' header with a valid API key (https:\/\/documenta (truncated...)\n",
"file": "/home/arloponc/public_html/developer/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php",
"line": 113
}

Ожидаемое поведение:

Уведомление должно быть отправлено успешно, если используется правильный ключ API OneSignal.

Фактическое поведение:

Запрос приводит к ответу 403 Forbidden, что указывает на то, что ключ API отсутствует или недействителен. Я уже проверил ключ API и добавил его в переменные среды, но проблема не устранена.

Шаги по воспроизведению:

  • Настройте интеграцию OneSignal в соответствии с инструкциями к пакету.
  • Используйте функцию sendNotificationToUser для отправки уведомления.
  • Соблюдайте ошибка 403 Forbidden в ответе.

Среда:

  • Версия Laravel: 10.48.16
  • Версия PHP: 8.1
  • Версия пакета OneSignal: 2.1 (berkayk/onesignal-laravel)
  • Версия Guzzle: 7.2 (guzzlehttp/guzzle)

Дополнительная информация:

  • Ключ API установлен в файле .env, и я Я уверен, что он настроен правильно.
  • Похоже, заголовок авторизации неправильно включен в запрос. Однако, похоже, это обрабатывается внутри пакета, поэтому я не знаю, почему он не работает.
Будем признательны за любые рекомендации и предложения.

Будем признательны за любые рекомендации и предложения.

Будем признательны.

п>

Подробнее здесь: https://stackoverflow.com/questions/790 ... -onesignal
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»