我想使用laravel-Nexmo发送发送短信。我已经配置了所有设置。但是,当我尝试发送短信时,会出现此错误
请提供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
我在services.php,.env文件和nexmo.php中添加了nexmo api_key和secret_key
我还添加了这个;
curl.cainfo="C:\xampp\apache\bin\cacert.pem"
在php.ini文件中
此错误的原因是什么以及如何解决此问题?谢谢!
答案 0 :(得分:0)
我已经配置了所有设置。
您配置了哪些确切设置?该错误意味着该库无法确定要用于Nexmo的适当凭据集。
如果要发送短信,则只需设置NEXMO_KEY
和NEXMO_SECRET
。我将尝试仅设置这两个环境选项,然后查看是否出现相同的错误。如果您通过设置NEXMO_SIGNATURE_SECRET
使用请求签名,那么我暂时将其禁用,只是为了检查是否发送基本SMS。
更新设置后,我将确保使用artisan config:clear
清除缓存以清除缓存,这应该允许在下一页加载时提取设置。
答案 1 :(得分:0)
我遇到了同样的问题,并且能够解决它。
原因
在我看来,laravel / nexmo-notification-channel已更新,但Laravel本身尚未更新。
根据Laravel [6.x]拉取请求:
composer require laravel/nexmo-notification-channel
这还将安装nexmo / laravel软件包。该软件包包括其自己的配置文件。您可以使用NEXMO_KEY和 NEXMO_SECRET环境变量可将您的Nexmo设置为公开和秘密 键。
解决方案 很简单,只需将此新的nexmo.php配置文件复制到您的配置文件夹中:https://github.com/Nexmo/nexmo-laravel/blob/master/config/nexmo.php
只要在.env文件中设置了NEXMO_KEY和NEXMO_SECRET,它现在就可以正常工作。
答案 2 :(得分:0)
我正在使用 Laravel 8 并面临同样的问题。然后我意识到我正在添加
NEXMO_KEY=your key here
NEXMO_SECRET=your secret here
到 .env.example
文件。我刚刚将它添加到 .env
文件并通过 php artisan config:cache
重新配置缓存
现在它可以工作了。
注意:您应该从 vonage.com 获取您的 api_key
和 secret