Laravel уведомление не отправит - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь отправить уведомление в Twitter при создании нового сообщения, но получаю:

Couldn't post Notification. Response: Bad Authentication data.

Коды

Класс уведомлений

use NotificationChannels\Twitter\TwitterChannel;
use NotificationChannels\Twitter\TwitterStatusUpdate;
use App\Post;

class PostPublished extends Notification
{
    use Queueable;

    public function via($notifiable)
    {
        return [TwitterChannel::class, TelegramChannel::class];
    }

    public function toTwitter($post)
    {
        $title = $post->title;
        $slug = $post->slug;
        $image = $post->image;
        return new TwitterStatusUpdate($title .' https://domain.co/blog/'. $slug, [$image]);
    }

Пост-контроллер

use Illuminate\Notifications\Notifiable;
use App\Notifications\PostPublished;

$post->save();
$post->notify(new \App\Notifications\PostPublished($post));

Почтовая модель

use Illuminate\Notifications\Notifiable;

use Notifiable;

Вопрос

  1. Почему я получаю эту ошибку?
  2. Как это исправить?

Ответы [ 2 ]

0 голосов
/ 06 мая 2018

решаемые

Все, что мне нужно было сделать, это:

php artisan config:cach
composer dump-autoload

теперь это работает как шарм.

0 голосов
/ 05 мая 2018

Это определенно что-то не так с вашей конфигурацией или вашими токенами. Мне кажется, что-то настроено неправильно. У вас в файле config/services.php есть следующее?

'twitter' => [
    'consumer_key'    => env('TWITTER_CONSUMER_KEY'),
    'consumer_secret' => env('TWITTER_CONSUMER_SECRET'),
    'access_token'    => env('TWITTER_ACCESS_TOKEN'),
    'access_secret'   => env('TWITTER_ACCESS_SECRET')
]

Пожалуйста, убедитесь, что все они установлены правильно с помощью повозки. В терминале введите php artisan tinker, а затем проверьте каждую из следующих по одной строке за раз:

env('TWITTER_CONSUMER_KEY'),
env('TWITTER_CONSUMER_SECRET'),
env('TWITTER_ACCESS_TOKEN'),
env('TWITTER_ACCESS_SECRET')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...