Loader

PHP Spotify API Kullanımı

· PHP ·
Spotify, PHP Spotify API, Spotify API, Spotify Developer

Spotify

Selamlar, uzun zamandır buraya yazı girmemişim. Bir süredir üzerinde çalıştığım PHP Spotify API'ın nasıl kullanıldığına dair bir Türkçe doküman tarzı bir şey hazırlamak istedim. Önden belirteyim, sorularınızı da yorum bölümünde yanıtlayacağım. Bu sayede hem ben hem de siz öğreneceksiniz. Temel olarak konuştuğumuza göre konuşmaya başlayalım.

PHP Spotify API için gereksinimler:

 

Spotify Developer panelinde uygulama oluşturma:

API'ımızı kullanabilmemiz için Spotify developer panelinde uygulama oluşturmamız gerekiyor. Gelin beraber yapalım.

PHP Spotify API nasıl kullanılır?

 

Access token alıp sisteme bağlanmak:

$session = new SpotifyWebAPI\Session('CLIENT_ID', 'CLIENT_SECRET', 'REDIRECT_URI');
$api = new SpotifyWebAPI\SpotifyWebAPI(['auto_refresh' => true, 'auto_retry' => true]);
if
(isset($_GET['code'])) { $session->requestAccessToken($_GET['code']); $api->setAccessToken($session->getAccessToken());
// $refresh_token = $session->getRefreshToken(); print_r($api->me()); } else { $options = [ 'scope' => [
// bu kısım hakkında detaylı bilgi için:
// https://developer.spotify.com/documentation/general/guides/scopes/ 'user-read-email', ], ]; header('Location: ' . $session->getAuthorizeUrl($options)); die(); }

Yukarıdaki kod bloğunu açıklarsak CLIENT_ID kısmına aldığımız id, aynı şekilde secret kısmına da diğer aldığımız kodu gireceğiz. Redirect_uri kısmı ise bu auth işlemini nerede gerçekleştirdiğinize bağlıdır. Ben şahsen bunu ayrı bir sayfada yapıp ardından access tokeni veritabanımda depolamayı tercih ediyorum. Bu kod bloğunu girdiğiniz sayfanın URL'sini yazmanız şimdilik yeterlidir.

Refresh token kullanarak Access token yenilemek:

$session = new SpotifyWebAPI\Session('CLIENT_ID', 'CLIENT_SECRET', 'REDIRECT_URI');
$session->refreshAccessToken(Auth::user()->spotify_refresh_token);
/* bu iki değişkeni bir databasede saklamak cidden iyi fikir. */
$newAccessToken = $session->getAccessToken();
$newRefreshToken = $session->getRefreshToken();


Bu iki auth işlemini öğrendikten sonra artık oyuna başlayabiliriz. Aşağıdaki iki kodla API nesnemizi oluşturalım:

$api = new SpotifyWebAPI\SpotifyWebAPI(['auto_refresh' => true, 'auto_retry' => true]);
$api->setAccessToken($session->getAccessToken());

Ardından bu oluşturduğumuz $api değişkeni üzerinden işlemleri yapmaya başlayalım.

addMyTracks - Sevilen Şarkılara Ekleme Yapmak

$api->addMyTracks($tracks)

Access tokeni kullanılan kullanıcının kütüphanesine parça ekler.
https://developer.spotify.com/documentation/web-api/reference/library/save-tracks-user/

Argümanlar

Ne döndürüyor?

 

getMyDevices - Kullanıcının Cihazlarını Almak

$api->getMyDevices()

Kullanıcının cihazları hakkında bilgileri almak.
https://developer.spotify.com/documentation/web-api/reference/player/get-a-users-available-devices/

Ne dönüyor?

 

changeMyDevice - Çalan Cihazı Değiştirmek

$api->changeMyDevice($options)

Kullanıcının müzik çaldığı cihazı değiştirir.
https://developer.spotify.com/documentation/web-api/reference/player/transfer-a-users-playback/

Argümanlar

Ne döndürüyor?

 

changeVolume - Sesi Değiştirmek

$api->changeVolume($options)

Kullanıcının ses düzeyini değiştirir.
https://developer.spotify.com/documentation/web-api/reference/player/set-volume-for-users-playback/

Argümanlar

Ne dönüyor?

 

createPlaylist - Playlist Oluşturmak

$api->createPlaylist($options)

Yeni bir çalma listesi oluşturun.
https://developer.spotify.com/documentation/web-api/reference/playlists/create-playlist/

Argümanlar

Ne dönüyor?

 

me - Kullanıcının Bilgilerini Getirmek

$api->me()

O anda giriş yapmış olan kullanıcının bilgilerini alabilirsiniz.
https://developer.spotify.com/documentation/web-api/reference/users-profile/get-current-users-profile/

Ne dönüyor?

 

play - Çalmayı Başlatmak

$api->play($deviceId, $options)

Çalma işlemini başlatır.
https://developer.spotify.com/documentation/web-api/reference/player/start-a-users-playback/

Argümanlar

Ne dönüyor?

 

queue - Çalma Sırasına Şarkı Eklemek

$api->queue($trackUri, $deviceId)

Çalma sırasına şarkı ekler.
https://developer.spotify.com/documentation/web-api/reference/player/add-to-queue/

Argümanlar

Ne dönüyor?

 

search - Arama Yapmak

$api->search($query, $type, $options)

Spotify kütüphanesinde arama yapmak için kullanıyoruz.
https://developer.spotify.com/documentation/web-api/reference/search/search/

Argümanlar

Ne dönüyor?

 

next - Sıradaki Parçayı Çal

$api->next($deviceId)

Kullanıcının kuyruğundaki sıradaki parçayı çalar.
https://developer.spotify.com/documentation/web-api/reference/player/skip-users-playback-to-next-track/

Argümanlar

Ne dönüyor?

 

pause - Şarkıyı Durdurmak

$api->pause($deviceId)

Çalma işlemini durdurur.
https://developer.spotify.com/documentation/web-api/reference/player/pause-a-users-playback/

Argümanlar

Ne dönüyor?

 

getTrack - Şarkının Bilgilerini Çekmek

$api->getTrack($trackId)

ID'sine sahip olduğunuz şarkının bilgilerini almak.
https://developer.spotify.com/documentation/web-api/reference/tracks/get-track/

Argümanlar

Ne dönüyor?

 

getMyCurrentPlaybackInfo - Çalan Şarkıyı Hakkında Bilgi Almak

$api->getMyCurrentPlaybackInfo()

Kullanıcının o andaki oynatma bilgilerini almak.
https://developer.spotify.com/documentation/web-api/reference/player/get-information-about-the-users-current-playback/

Ne dönüyor?

 

getMyPlaylists - Kullanıcının Çalma Listelerini Almak

$api->getMyPlaylists($options)

Kullanıcının çalma listelerini getirir.
https://developer.spotify.com/documentation/web-api/reference/playlists/get-a-list-of-current-users-playlists/

Argümanlar

Ne dönüyor?

 

getMySavedTracks - Kullanıcının Beğendiği Şarkılar

$api->getMySavedTracks($options)

Kullanıcının beğendiği şarkıların listesi.
https://developer.spotify.com/documentation/web-api/reference/library/get-users-saved-tracks/

Argümanlar

Ne dönüyor?

 

getPlaylist - Playlist Hakkında Bilgi Getirmek

$api->getPlaylist($playlistId)

IDsi belirli olan 
https://developer.spotify.com/documentation/web-api/reference/playlists/get-playlist/

Argümanlar

Ne dönüyor?

 

getPlaylistTracks - Playlistten Şarkıları Çekmek

$api->getPlaylistTracks($playlistId, $options)

Playlistten şarkıları getirir.
https://developer.spotify.com/documentation/web-api/reference/playlists/get-playlists-tracks/

Argümanlar

Ne dönüyor?

 

Önemli olan tüm fonksiyonları çevirdiğimi düşünüyorum. Eksik kaldığını düşündüğünüz kısımlar varsa yorum kısmında belirtirseniz sevinirim. Anlamadığınız kısımlarda da sorularınıza yanıt vermeye çalışacağım. Okuduğunuz için teşekkür ederim. Umarım faydalı olmuştur.

 

Faydalı kaynaklar:
https://github.com/jwilsson/spotify-web-api-php/tree/master/docs/method-reference
https://github.com/jwilsson/spotify-web-api-php/tree/master/docs/examples

Daha fazla gönderi...