Spotify integration via UI aborted

From 105.1 release, Spotify seems to be available via the integration UI. However if I try to configure it, it shows an aborted error:

I did removed everything from the configuration.yaml and scripts.

I’m getting the same

Did you follow the docs?

Followed all the steps in the docs and it works, thank you @Burningstone

For other people:

You don’t remove everything from the configuration. It still needs the client id and secret. Though the application on the developers site needs updated.

It’s in the docs.

Was able to get past this. I stupidly removed all references to Spotify in my config. Added back client secret and am further. Will work on invalid URI when I get home.

http://<your_home_assistant_url_or_local_ip>/auth/external/callback

(or https)

On https://developer.spotify.com/my-applications/#!/applications

It’s a slightly different url.

Hi everyone, performed all the steps as indicated

  • changed the entries in configuration file
  • created the new app, copied/paste the client ID and secret in config
  • add the callback in the url field in the dev site/application settings : http://,my ip>/auth/external/callback

but get a “INVALID_CLIENT: Invalid redirect URI” message.

Any thoughts ?

Thanks !

1 Like

@mviamin I just fixed exactly this. When you get the Invalid redirect URI, look at the url. Copy and paste the URI elements from there.

For me, instead of putting in “http://hassio.local:…” , I had to put in the actual ip address.

So, instead of “http://hassio.local:/auth/external/callback”, I had to enter “http://192.168.86.XXX:/auth/external/callback”. Worked like a charm.

2 Likes

thanks @chato17, I already have my IP in the form of 192.168.86.64 in the callback.

.

I noticed you pasted a “:” after the IP. “http://hassio.local:/auth/external/callback”. Should I have the “:” too ? Does not look that way from the docs ?

You should have port in there.

So, it would be:
http://192.168.86.64:port/auth/external/callback

You would need to replace the “port” with your actual port. For me, it is 8123.

If that doesn’t work, make sure that when you get the “Invalid URI” error. Check the URI components in the url. That will tell you what the URI needs to be. For example, in the long url that is returned, you will see where it says “URI”. from there, make sure that corresponding snippets match.

2 Likes

Thank you !! @chato17 ! The port !! That did it…

1 Like

Stared at the too many times myself.

i have also succeeded with the new integration, new callback linl, all seems fine, its working , but i only receive error messages like below, my log file is flooded with it, allthough everything seems to work

you guys have it too?

2020-02-07 11:29:48 ERROR (MainThread) [homeassistant.helpers.entity] Update for media_player.spotify fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 279, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 461, in async_device_update
await self.hass.async_add_executor_job(self.update)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/spotify/media_player.py", line 83, in wrapper
result = func(self, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/components/spotify/media_player.py", line 338, in update
self._playlist = self._spotify.playlist(current["context"]["uri"])
AttributeError: 'Spotify' object has no attribute 'playlist'

Still not working. Redirect URI for the integ is

http://192.168.0.186:8123/auth/external/callback

which should be correct but still getting “The spotify platform for the media_player integration does not support platform setup. Please remove it from your config.”

yes, its not a media platform anymore
spotify is a seperate platform now, its in documentation …

2 Likes

Thanks! These breaking changes REALLY should be highlighted in the integrations documentation as well .

1 Like

I don’t agree here. This will create a lot of work and leads to redundant information. With every release they would need to upgrade every doc that has a breaking change and then in the next release, they need to remove the information again. This will never happen in my view.

This seems a bit backwards. Isn’t the point of Integrations not having to edit the config?

2 Likes

I still prefer yaml though, in case of new installation or backup or whatever, if in config, everything is already configured

2 Likes