$accessToken = session('access_token'); if (!session()->has('twitter_account')) { $connection = new Abraham\TwitterOAuth\TwitterOAuth(env('TWITTER_CONSUMER_KEY'), env('TWITTER_CONSUMER_SECRET'), $accessToken['oauth_token'], $accessToken['oauth_token_secret']); $twitterAccount = $connection->get("account/verify_credentials"); session(['twitter_account' => $twitterAccount]); } $twitterAccount = session('twitter_account'); return view('twitter.index', compact('twitterAccount')); }); Route::post('/twitter-status', ['as' => 'twitter_status_update', function (Illuminate\Http\Request $request) { $connection = new Abraham\TwitterOAuth\TwitterOAuth(env('TWITTER_CONSUMER_KEY'), env('TWITTER_CONSUMER_SECRET'), session('access_token.oauth_token'), session('access_token.oauth_token_secret')); $statues = $connection->post("statuses/update", ["status" => $request->input('status')]); if ($connection->getLastHttpCode() == 200) { return redirect('twitter-profile')->with("message", "Update status success!")->with("success", true); } return redirect('twitter-profile')->with('message', 'Error: can"t update status')->with('success', false); }]); Route::post('/twitter-send-message', ['as' => 'twitter_send_message', function (Illuminate\Http\Request $request) { $connection = new Abraham\TwitterOAuth\TwitterOAuth(env('TWITTER_CONSUMER_KEY'), env('TWITTER_CONSUMER_SECRET'), session('access_token.oauth_token'), session('access_token.oauth_token_secret')); $fields = ['message' => $request->input('message'), 'to' => $request->input('to')]; $request = $connection->post("direct_messages/new", $fields); if ($connection->getLastHttpCode() == 200) { return redirect('twitter-profile')->with('message', "Message sent to @" . $request->input('to'))->with('success', true); } return redirect('twitter-profile')->with('message', "Send message failed!")->with('success', false); }]); Route::get('/logout', ['as' => 'logout_path', function (Illuminate\Http\Request $request) { session()->forget('twitter_account'); session()->forget('access_token'); return redirect(route('login_path')); }]);