Skip to content
This repository has been archived by the owner on Aug 18, 2020. It is now read-only.

Spotify Connector #141

Closed
sebinside opened this issue Nov 3, 2019 · 3 comments
Closed

Spotify Connector #141

sebinside opened this issue Nov 3, 2019 · 3 comments
Labels
api Requires api changes enhancement New feature or request io Relies on a connector / input / output / parameter major Needs a major platform / framework / build environment rework

Comments

@sebinside
Copy link
Member

Description

We should check if the spotify API is usable for controlling playback etc.

An use case would be that the chat or moderators set the playback volume.

References

Spotify for Developers: https://developer.spotify.com/

@sebinside sebinside added the enhancement New feature or request label Nov 3, 2019
@sebinside sebinside added this to the alpha 1 milestone Nov 3, 2019
@J0B10 J0B10 added api Requires api changes io Relies on a connector / input / output / parameter major Needs a major platform / framework / build environment rework labels Nov 3, 2019
@molikuner
Copy link

Hey, actually I know the Spotify Web API a bit. It's absolutely possible to control playback and the volume, but the Web API offers much more than that.

There are three main questions for me:

  • What should be available in this connector?

In my opinion it's not a good idea to include everything in that connection. It would be way to much. There are libraries that do just that and they are actually not that small in terms of LOC.

  • How should the user be able to authenticate himself?

There are multiple authentication flows, which all have different strengths. Also all of them require to register a application to Spotify, which leads to the next question.

  • Should the ClientID and ClientSecret be included in ChatOverflow or will the user be forced to create its own application at the Spotify Developer Dashboard?

I would ship default keys with the application but allow them to be overwritten by a config, but that's definitely something to be discussed.

@hlxid
Copy link
Member

hlxid commented Feb 22, 2020

@molikuner sorry that I took so long to answer you.

What should be available in this connector?

I would start with basic playback control like pause/play, next/previous, volume and getting the title of the currently playing song and add more functionality as we need them. Using a library to accomplish this is totally fine.

How should the user be able to authenticate himself?

I would say that oauth needs to be solved in general on a higher level. I will create a seperate issue for that (#168).

For now this should follow all the other connectors which all want an authorization token. The refresh token which spotify also needs should also be set by the user.
For getting the token it would be nice if something equivalent to tmi for spotify would also exist. Otherwise a good guide with curl commands would also work till we implement oauth in the framework/gui.

Should the ClientID and ClientSecret be included in ChatOverflow or will the user be forced to create its own application at the Spotify Developer Dashboard?

See above. For now the user should register their own clients and only give ChatOverflow a auth and refresh token.

@sebinside
Copy link
Member Author

Just dropping this here for later use: https://github.com/thelinmichael/spotify-web-api-java

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
api Requires api changes enhancement New feature or request io Relies on a connector / input / output / parameter major Needs a major platform / framework / build environment rework
Projects
None yet
Development

No branches or pull requests

4 participants