https://github.com/symbitic/spotify-web-playback
Spotify Web Playback API.
https://github.com/symbitic/spotify-web-playback
spotify spotify-api spotify-web-api spotify-web-playback-sdk
Last synced: 7 months ago
JSON representation
Spotify Web Playback API.
- Host: GitHub
- URL: https://github.com/symbitic/spotify-web-playback
- Owner: Symbitic
- License: mit
- Created: 2021-06-01T03:12:17.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-11-09T19:33:51.000Z (over 1 year ago)
- Last Synced: 2024-05-29T12:25:20.866Z (about 1 year ago)
- Topics: spotify, spotify-api, spotify-web-api, spotify-web-playback-sdk
- Language: TypeScript
- Homepage: https://symbitic.github.io/spotify-web-playback/
- Size: 2.07 MB
- Stars: 5
- Watchers: 3
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Spotify Web Playback
Spotify Web Playback is a TypeScript-enabled API for using the [Spotify Web Playback SDK].
The Spotify Web Playback SDK enables developers to stream and play Spotify tracks
in any web browser that supports [Encrypted Media Extensions]
(currently only FireFox, Google Chrome, and Microsoft Edge are supported).Read the documentation [here][docs].
## Setup
Install spotify-web-playback by running:
npm i -s spotify-web-playback
or
yarn add spotify-web-playback
Web browsers can use:
```javascript
import Spotify from 'https://esm.sh/spotify-web-playback';
```## Getting Started
```javascript
const token = '';const uri = 'spotify:track:54flyrjcdnQdco7300avMJ';
const spotify = new SpotifyPlayer();
await spotify.connect(token);
spotify.play(uri);
```## Authorization
**This library does not handle obtaining a Spotify token. You have to take care of that yourself.**
You have two options:
1. Click [here] to obtain a temporary token. You can pass it to your code, but be aware it will expire after one hour.
2. Use the Spotify Web API to obtain an access token. See [this gist] for a full example of how to obtain a Spotify token in a web application. This workflow is highly recommended for production apps.An example of #2 is included. Please see [demo.mjs](demo.mjs) and [public/demo.mjs](public/demo.mjs) for more information.
Set `CLIENT_ID` and `CLIENT_SECRET` then run `npm run demo` and open `http://localhost:8989/` to view the demo.## Acknowledgements
Much of the inspiration for this API comes from Gil Barbara's [react-spotify-web-playback](https://github.com/gilbarbara/react-spotify-web-playback).
## License
Licensed under the [MIT](https://spdx.org/licenses/MIT) license. See [LICENSE.md](LICENSE.md) for more details.
[Spotify Web Playback SDK]: https://developer.spotify.com/documentation/web-playback-sdk/quick-start/
[Encrypted Media Extensions]: https://www.w3.org/TR/encrypted-media/
[docs]: https://symbitic.github.io/spotify-web-playback/
[here]: https://accounts.spotify.com/en/authorize?response_type=token&client_id=adaaf209fb064dfab873a71817029e0d&redirect_uri=https:%2F%2Fdeveloper.spotify.com%2Fdocumentation%2Fweb-playback-sdk%2Fquick-start%2F&scope=streaming%20user-read-email%20user-read-private%20user-library-read%20user-library-modify%20user-read-playback-state%20user-modify-playback-state&show_dialog=true
[this gist]: https://gist.github.com/Symbitic/95c0f4321b310be3a86eb0adf4a268ff