Como transferir suas faixas favoritas para o Spotify gratuitamente usando Javascript

Todos os amantes da música na Rússia estão ansiosos pelo lançamento do Spotify em nosso mercado. Quando isso finalmente aconteceu, os usuários enfrentaram o problema de transferir músicas de outros serviços. Pessoalmente, ao longo dos anos, acumulei uma enorme coleção de músicas em diferentes plataformas: Yandex.Music, VKontakte, uma coleção pessoal em um disco rígido e uma nuvem em Yandex.Disk.



A princípio pensei em usar serviços como Soundiiz e TuneMyMusic. Mas, inspirado por um artigo sobre como usar Python para o mesmo propósito , me interessei em resolver esse problema usando Javascript. A seguir, descreverei uma série de etapas simples com código-fonte para ajudá-lo a transferir sua música de diferentes fontes para o Spotify.





Portanto, para começar, precisamos de três coisas: Node.js, o navegador Google Chrome e fontes de script .



E instale dependências, é claro.



Vá até a raiz do projeto e execute o comando:



npm i


Está feito?



Ok, vamos em frente.



Em primeiro lugar, precisamos obter uma lista de faixas.



Aviso Legal:

, , .

, .

.



Em contato com



Com o passar dos anos de uso dessa rede social, a lista de faixas tem sido constantemente renovada. Acho que muitos passam pela mesma situação.



DOM-, . , , .



, . (F12) , src/grabTracksVk.js. Enter.



.



.



, , . , , .. .



API. DOM- .



: https://yandex.ru/dev/disk/poligon



" OAuth ".



src/grabTracksYandexDisk.js.





const token = ''


.



:



const token = 'AgAAAAACbokuAADL45FDSww2d3SDSffddwAAAAA';


, , , , , . onlyArtist, true.



:



node ./src/grabTracksYandexDisk.js


collection-yandex-disk.txt.



. API ( ):



https://cloud-api.yandex.net/v1/disk/resources/files


media type, .





. , . , , , Spotify ( ) .



– , , .



, src/grabTracksFileSystem.js.





const rootPath = ''


, .



:



const rootPath = 'D:/Music/Metal';


.



mask . .



:



const mask = ['.mp3', '.flac'];


onlyArtist , . , , true.



:



node ./src/grabTracksFileSystem.js


collection-fs.txt.



.



. . API, , , DOM-. , DOM- 150 , . , .



( ):



, , DOM- . , .



, send XMLHttpRequest.



. — . — !



, :



., " " → , " " → (, ). .



, src/grabTracksYandexMusic Enter.



.



.



P.S.: .



, .



Apple Music



, , . DOM, . , . , ..



, , . , src/grabTracksAppleMusic.js.



.



Spotify



, , Spotify.



Spotify API . . .



: https://developer.spotify.com/dashboard



"Create an app", . . Client ID Client Secret.



src/getSpotifyToken.js client_id client_secret. .



redirect_uri.



"Edit settings". "Redirect URIs", http://localhost:8888/callback. "Save" .



!



tracks.txt, , . .



:



Slaughter To Prevail - Misery Sermon
Grim Christmas - Jingle Bells
Novembers Doom - Rain


: ./src/getSpotifyToken.js. Spotify .



:



node ./src/getSpotifyToken.js


Spotify. .



: access token: < > refresh token: < >.



. , .



src/addTracksToSpotify.js.



const accessToken = ''


. :



node ./src/addTracksToSpotify.js


.



( : - , , ).



spotify-tracks-no-found.txt, Spotify .



, , ( ).



artists.txt, .



.



:



Bob Dylan
Slaughter To Prevail
Novembers Doom


, , src/addArtistsToSpotify.js.

, :



node ./src/addTracksToSpotify.js


. - , spotify-artists-no-found.txt.



!



P.S.: , .



, Ctrl + A (Cmd + A). . .



! )




All Articles