Laravel - Nexmo Пожалуйста, предоставьте ошибку учетных данных API Nexmo

Я хочу отправить SMS с помощью laravel-Nexmo. Все настройки уже настроил. Но когда я пытаюсь отправить SMS, появляется эта ошибка

Пожалуйста, предоставьте учетные данные Nexmo API. Возможные комбинации: api_key + api_secret, api_key + signature_secret, private_key + application_id, api_key + api_secret + private_key + application_id, api_key + signature_secret + private_key + application_id

Я добавил nexmo api_key и secret_key в файл services.php, .env и nexmo.php. Я также добавил это; curl.cainfo="C:\xampp\apache\bin\cacert.pem" в файле php.ini

В чем причина этой ошибки и как ее исправить? Спасибо!


person Hashan    schedule 29.12.2019    source источник
comment
Если вы кешируете свою конфигурацию, обязательно повторно кешируйте ее всякий раз, когда вы изменяете файлы конфигурации или .env. php artisan config:clear, чтобы очистить его, или php artisan config:cache, чтобы очистить и кэшировать его.   -  person patricus    schedule 29.12.2019
comment
Я не очищал и не кешировал конфиг. что я должен делать?   -  person Hashan    schedule 30.12.2019
comment
Эй, ты все исправил? Я столкнулся с той же ошибкой и добавил NEXMO_KEY и NEXMO_SECRET в свой файл .env   -  person Cornel Verster    schedule 17.01.2021


Ответы (3)


Все настройки уже настроил.

Какие именно настройки вы настроили? Ошибка означает, что библиотеке не удалось определить соответствующий набор учетных данных для использования в Nexmo.

Если вы отправляете SMS, все, что вам нужно установить, это NEXMO_KEY и NEXMO_SECRET. Я бы попытался установить только эти два параметра среды и посмотреть, появится ли у вас такая же ошибка. Если вы используете подписывание запросов, установив NEXMO_SIGNATURE_SECRET, я бы отключил это на время, просто чтобы проверить, работает ли отправка базового SMS.

После обновления настроек я бы удостоверился, что кеш будет очищен с помощью artisan config:clear, чтобы очистить кеш, что должно позволить выбрать настройки при следующей загрузке страницы.

person dragonmantank    schedule 30.12.2019
comment
Вот почему я сказал, что уже установил это. Я установил NEXMO_KEY и NEXMO_SECRET - person Hashan; 30.12.2019
comment
Есть несколько настроек, поэтому я и спросил. Вы пытались очистить кеш конфигурации, чтобы убедиться, что он правильно загружен? - person dragonmantank; 30.12.2019

Я столкнулся с той же проблемой и смог ее исправить.

Причина

Мне кажется, что laravel / nexmo-notification-channel был обновлен, но сам Laravel (пока) не обновился.

Согласно запросу на перенос Laravel [6.x]:

composer require laravel/nexmo-notification-channel

Это также установит пакет nexmo / laravel. Этот пакет включает собственный файл конфигурации. Вы можете использовать переменные среды NEXMO_KEY и NEXMO_SECRET, чтобы установить свой открытый и секретный ключ Nexmo.

https://github.com/laravel/docs/pull/5519/files?short_path=7c04c15#diff-7c04c1591e2821d381785df56ebd70af

Решение Это было легко, просто скопируйте этот новый файл конфигурации nexmo.php в свою папку конфигурации: https://github.com/Nexmo/nexmo-laravel/blob/master/config/nexmo.php

Пока у вас есть NEXMO_KEY и NEXMO_SECRET, установленные в вашем .env файле, теперь он должен работать.

person Aine    schedule 23.01.2020

Я использую Laravel 8 и столкнулся с той же проблемой. Затем я понимаю, что добавляю

  NEXMO_KEY=your key here 
  NEXMO_SECRET=your secret here 

в .env.example файл. Я просто добавил его в .env файл и перенастроил кеш на php artisan config:cache. Теперь он работает.

Примечание: вы должны получить свои api_key и secret rom vonage.com

person Khalil    schedule 23.01.2021