/**
* @param Request $request
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
public function getUserInfo(Request $request)
{
$session = new SpotifyWebAPI\Session(Config::get('spotify.client_id'), Config::get('spotify.client_secret'), Config::get('spotify.redirect_url.getUserInfo'));
$api = new SpotifyWebAPI\SpotifyWebAPI();
if (isset($_GET['code'])) {
try {
$session->requestAccessToken($_GET['code']);
$api->setAccessToken($session->getAccessToken());
} catch (Exception $e) {
Log::error($e->getMessage());
return redirect('/spotify/step_one');
}
} else {
header('Location: ' . $session->getAuthorizeUrl(array('scope' => array('playlist-modify-private', 'playlist-modify-public', 'playlist-read-private'))));
die;
}
$me = $api->me();
$playlists = $api->getUserPlaylists($me->id);
foreach ($playlists->items as $playlist) {
$data[] = array('id' => $playlist->id, 'owner_id' => $playlist->owner->id, 'name' => $playlist->name);
}
return View::make('spotify.step_three')->with('data', $data);
}