<?php session_start(); require '../vendor/autoload.php'; require '../config.php'; if (isset($_GET['logout'])) { $_SESSION['accessToken'] = ''; $_SESSION['refreshToken'] = ''; } $accessToken = ''; if (isset($_SESSION['accessToken'])) { $accessToken = $_SESSION['accessToken']; } $refreshToken = ''; if (isset($_SESSION['refreshToken'])) { $refreshToken = $_SESSION['refreshToken']; } if (!$accessToken) { header('Location: auth.php'); die(); } $session = new SpotifyWebAPI\Session( $CLIENT_ID, $CLIENT_SECRET ); // Use previously requested tokens fetched from session if ($accessToken) { $session->setAccessToken($accessToken); $session->setRefreshToken($refreshToken); } else { // Or request a new access token $session->refreshAccessToken($refreshToken); } $scopes = $session->getScope(); $options = [ 'scope' => [ 'playlist-read-private', 'playlist-modify-private', 'user-read-private', ], 'auto_refresh' => true, ]; $api = new SpotifyWebAPI\SpotifyWebAPI($options, $session); // Save new tokens, they might have been updated $_SESSION['accessToken'] = $session->getAccessToken(); $_SESSION['refreshToken'] = $session->getRefreshToken(); // ################################################################ $user = $api->me(); $templateData = []; $templateData['user'] = $user; $templateData['userImageUrl'] = ''; if ($user->images[0]) { $templateData['userImageUrl'] = $user->images[0]->url; } $templateData['playlists'] = $api->getUserPlaylists($user->id)->items; require '../template.php';