Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rttll/faveslist-spotify
Mac hot key for liking songs on Spotify, with menubar UI.
https://github.com/rttll/faveslist-spotify
electron preact spotify spotify-api spotify-web-api tailwindcss
Last synced: 9 days ago
JSON representation
Mac hot key for liking songs on Spotify, with menubar UI.
- Host: GitHub
- URL: https://github.com/rttll/faveslist-spotify
- Owner: rttll
- Created: 2018-07-28T05:22:46.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2023-01-06T01:34:45.000Z (almost 2 years ago)
- Last Synced: 2024-11-16T04:33:01.086Z (26 days ago)
- Topics: electron, preact, spotify, spotify-api, spotify-web-api, tailwindcss
- Language: JavaScript
- Homepage: https://fs.thisadrian.vercel.app/
- Size: 85.2 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- Mac-Menubar-Megalist - Faveslist
README
# Faveslist
Spotify faveslist helper, for Mac.
[https://fs.thisadrian.vercel.app](https://fs.thisadrian.vercel.app)
## Setup
You'll need a Spotify developer account and a new project.
https://developer.spotify.com/
**Redirect URI**
Faveslist uses OAuth to connect to Spotify. In the final stage of the OAuth procedure, Spotify will need to redirect back to the app using the Redirect URI. It's basically a link from the web to the native app.
In the project settings in Spotify, set a Redirect URI to match this app's default protocol client.
For example, in the project I created for this app, I set the redirect URI to `faveslist://`. And then in the client itself I registered the protocol [like this](https://github.com/thisadrian/faveslist-spotify/blob/960605e073c0783fe68c0c109ad9aa827913218d/src/background.js#L37)
Read about Spotify app [redirect URI's](https://developer.spotify.com/documentation/general/guides/app-settings/)
Read about Electron's [setAsDefaultProtocolClient](https://www.electronjs.org/docs/api/app#appsetasdefaultprotocolclientprotocol-path-args)
**API key**
Create two json files in a config directory, one for each environment.
`confg/env_development.json`
`confg/env_production.json`
Add your id and secret using the following format:
```
{
"name": "lowercase env name",
"CLIENT_ID": "YOU ID HERE",
"CLIENT_SECRET": "YOUR SECRET HERE"
}```
The two files are reduntant, because Spotify only issues one key, but this respects the original setup of the electron boilerplate. Probably I should change this though...
## Development
`npm start`
## Build
`npm run release`