SpotifyWebAPI\SpotifyWebAPI::getUserPlaylistTracks PHP Метод

getUserPlaylistTracks() публичный Метод

Requires a valid access token. https://developer.spotify.com/web-api/get-playlists-tracks/
public getUserPlaylistTracks ( string $userId, string $playlistId, array | object $options = [] ) : array | object
$userId string ID of the user.
$playlistId string ID of the playlist.
$options array | object Optional. Options for the tracks. - string|array fields Optional. A list of fields to return. See Spotify docs for more info. - int limit Optional. Limit the number of tracks. - int offset Optional. Number of tracks to skip. - string market Optional. An ISO 3166-1 alpha-2 country code, provide this if you wish to apply Track Relinking.
Результат array | object The tracks in the playlist. Type is controlled by SpotifyWebAPI::setReturnAssoc().
    public function getUserPlaylistTracks($userId, $playlistId, $options = [])
    {
        $options = (array) $options;
        if (isset($options['fields'])) {
            $options['fields'] = implode(',', (array) $options['fields']);
        }
        $headers = $this->authHeaders();
        $uri = '/v1/users/' . $userId . '/playlists/' . $playlistId . '/tracks';
        $this->lastResponse = $this->request->api('GET', $uri, $options, $headers);
        return $this->lastResponse['body'];
    }

Usage Example

 /**
  * @param Request $request
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function showPlaylistList(Request $request)
 {
     $session = new SpotifyWebAPI\Session(Config::get('spotify.client_id'), Config::get('spotify.client_secret'), Config::get('spotify.redirect_url.showPlaylistList'));
     $api = new SpotifyWebAPI\SpotifyWebAPI();
     try {
         if (isset($_GET['code'])) {
             $session->requestAccessToken($_GET['code']);
             $api->setAccessToken($session->getAccessToken());
         } else {
             header('Location: ' . $session->getAuthorizeUrl(array('scope' => array('playlist-modify-private', 'playlist-modify-public', 'playlist-read-private'))));
             die;
         }
     } catch (Exception $e) {
         Log::error($e->getMessage());
         return redirect('/spotify/step_one');
     }
     if (!$request->session()->get('spotify.user_id') && $request->session()->get('spotify.playlist_id')) {
         return redirect('/spotify/step_one');
     }
     $playlistTracks = $api->getUserPlaylistTracks($request->session()->get('spotify.user_id'), $request->session()->get('spotify.playlist_id'));
     $spotifyPlaylist = array();
     $data = array();
     foreach ($playlistTracks->items as $track) {
         $track = $track->track;
         $spotifyPlaylist[$track->id] = $track->name . ' ' . $track->artists[0]->name;
         $data[] = array('id' => $track->id, 'name' => $track->name, 'artists' => $track->artists[0]->name);
     }
     $request->session()->put('spotify.songs', $spotifyPlaylist);
     return View::make('spotify.step_four')->with('data', $data);
 }