Ich versuche, einige Textnachrichten mit Nexmo mit Laravel zu senden. Als ich die Nachricht direkt in der Route sende es funktioniert gut:Laravel Nexmo, schlechte Anmeldeinformationen bei der Verwendung von Benachrichtigungen
Route::get('/sms/send/{to}', function(\Nexmo\Client $nexmo, $to){
$message = $nexmo->message()->send([
'to' => $to,
'from' => '@me',
'text' => 'Sending SMS from Laravel. yay!!!'
]);
Log::info('sent message: ' . $message['message-id']);
});
Aber wenn ich zu sen eine SMS versuchen, eine Mitteilung-Klasse mit erhalte ich die Fehlermeldung „Bad Credentials“. Ich habe aus nach der offiziellen Dokumentation gewesen: https://laravel.com/docs/5.5/notifications#sms-notifications
Hier ist die Klasse, die Mitteilung erweitert:
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Messages\NexmoMessage;
class KeepGoing extends Notification
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['nexmo'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toNexmo($notifiable)
{
return (new NexmoMessage)
->content('Your SMS message content');
}
ich kann nicht herausfinden, warum ich eine „Bad-Anmeldeinformationen“ erhalte -Fehler bei dem Versuch, das zu verwenden, Notification-Klasse, während es in der route-Datei funktioniert?
Vielen Dank!
EDIT: Der Controller, benachrichtigen() aufruft:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use App\Notifications\KeepGoing;
class NotificationController extends Controller
{
public function index()
{
$user = User::first();
$user->notify(new KeepGoing());
}
}
Ich möchte auch hinzufügen, dass toNexmo()
aufgerufen wird:
public function toNexmo($notifiable)
{
// If i dump($notifiable) I can see the user.
// The $notifiable has the attribute phone_number which is
// what the notificationsystem looks for...
return (new NexmoMessage)
->content('Your SMS message content');
}
Vielen Dank für die Beantwortung. Ich benutze keine Warteschlangen. Ich habe die Frage mit einigen zusätzlichen Informationen bearbeitet. –