如何使用Javascript免费将喜爱的曲目转移到Spotify

俄罗斯所有音乐爱好者都期待着Spotify在我们市场上的发布。当这最终发生时,用户面临着从其他服务传输音乐的问题。多年来,我个人在不同平台上积累了大量音乐:Yandex.Music,VKontakte,硬盘上的个人收藏和Yandex.Disk上的云。



起初,我想到使用Soundiiz和TuneMyMusic之类的服务。但是受到有关使用Python达到相同目的文章的启发,我开始对使用Javascript解决此问题感兴趣。接下来,我将用源代码描述一系列简单的步骤,以帮助您将音乐从不同的源传输到Spotify。





因此,要开始使用,我们需要三件事:Node.js,Google Chrome浏览器和脚本源



当然,并安装依赖项。



转到项目的根目录并执行命令:



npm i


好了吗?



好吧,让我们继续前进。



首先,我们需要获取曲目列表。



免责声明:

, , .

, .

.



与...联系



多年以来,使用此社交网络的曲目列表已得到稳定补充。我认为许多人的情况相同。



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