A commandline tool to synchronize your Spotify playlists to Music Player Daemon
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.7 KiB

5 years ago
## Usage
### Please note that this won't work without Spotify Premium because Spotify limits web API access to non-free accounts.
### This also requires you to have set up [mopidy-spotify](https://github.com/mopidy/mopidy-spotify) in order to play spotify tracks.
5 years ago
5 years ago
* Install from PyPI with `pip3 install --user spotify-mpd-sync`
5 years ago
5 years ago
* Go to [https://developer.spotify.com/dashboard/applications](https://developer.spotify.com/dashboard/applications) and create an application. Call it whatever you want.
5 years ago
* Go to "Edit Settings" in your newly created app, then add
`http://localhost:8080`
as a redirect URI and hit "Save" (You may choose a different one by setting
`SPOTIPY_REDIRECT_URI` in your environment if localhost:8080 is unavailable)
5 years ago
5 years ago
* Find your spotify username [here](https://www.spotify.com/us/account/overview/)
5 years ago
5 years ago
* You will have to set up some environment variables in order to run the app.
```
export SPOTIFY_USERNAME="The username you got above"
export SPOTIPY_CLIENT_ID="Your app's client ID"
export SPOTIPY_CLIENT_SECRET="Your app's client secret"
export SPOTIPY_REDIRECT_URI="http://localhost:8080"
```
* Now you can run `spotsync -H my_mpd_host -P 6600` where `my_mpd_host` is the host you
are running MPD on (host defaults to `localhost` and port defaults to `6600` if you do not include it)
* If this is the first time you are running it, it will direct you to a page in
your browser to grant permission for the app you just created to access your
private spotify playlist. You only need to do this once, and then your
credentials will be cached.
5 years ago
5 years ago
* You will be prompted to grant permission to the app, once that's done, it
will cache the credentials locally and you should be able to just run
spotsync.