This is what I'm getting whenever I try to play a song (going via Stations):
Code:
14:14:13.994 T:2440 NOTICE: [GoogleMusicEXP-1.11.1] Loading auth from cache
14:14:14.274 T:12060 NOTICE: [GoogleMusicEXP-1.11.1] ARGV: ['plugin://plugin.audio.googlemusic.exp/', '45', '?action=play_song&song_id=Tkguqqdxeccivpzouon3bdiyj74&title=Mood Indigo&artist=Thelonious Monk&albumart=http://lh3.googleusercontent.com/1t_rPU0vu0nZ1OMP53F9hX_nvHoRa8UiZavc0ZdSmEm50oJ-T07uzGTtkgbdRK2vK5f-DBZVJQ&tracknumber=5&album=Thelonious Monk Plays Duke Ellington (Remastered)&year=1955&rating=0&artistart=http://lh3.googleusercontent.com/hnPxE-sNEDqknOvAgRuX2Ie0tbVvpCgYkWkzdAgJFc96JsLH_Kyg0q8Sl1nUH1f32SoS1BrgUg']
14:14:14.471 T:12060 NOTICE: [GoogleMusicEXP-1.11.1] Loading auth from cache
14:14:14.471 T:12060 NOTICE: [GoogleMusicEXP-1.11.1] getStreamUrl songid: Tkguqqdxeccivpzouon3bdiyj74 device: quality: hi
14:14:14.963 T:12060 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <class 'gmusicapi.exceptions.CallFailure'>
Error Contents: GetStreamUrl: 403 Client Error: Forbidden for url: https://mclients.googleapis.com/music/mplay?opt=hi&mjck=Tkguqqdxeccivpzouon3bdiyj74&pt=e&slt=1496549654491&tier=fr&sig=pgyW_mJUq_R-QPfBnFVql6Pbc_o&hl=en_US&dv=0&net=mob
(requests kwargs: {'url': 'https://mclients.googleapis.com/music/mplay', 'headers': {'X-Device-ID': '', 'Authorization': '<omitted>'}, 'allow_redirects': False, 'params': {'opt': 'hi', 'mjck': 'Tkguqqdxeccivpzouon3bdiyj74', 'pt': 'e', 'slt': '1496549654491', 'tier': 'fr', 'sig': 'pgyW_mJUq_R-QPfBnFVql6Pbc_o', 'hl': 'en_US', 'dv': 0, 'net': 'mob'}, 'method': 'GET'})
(response was: u'<HTML>\n<HEAD>\n<TITLE>Forbidden</TITLE>\n</HEAD>\n<BODY BGCOLOR="#FFFFFF" TEXT="#000000">\n<H1>Forbidden</H1>\n<H2>Error 403</H2>\n</BODY>\n</HTML>\n')
Traceback (most recent call last):
File "C:\Users\Abba\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\default.py", line 13, in <module>
GoogleMusicPlaySong.GoogleMusicPlaySong().play(params)
File "C:\Users\Abba\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\GoogleMusicPlaySong.py", line 13, in play
params = self.__getSongStreamUrl(song_id, params)
File "C:\Users\Abba\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\GoogleMusicPlaySong.py", line 65, in __getSongStreamUrl
params['url'] = self.api.getSongStreamUrl(song_id, session_token=params.pop('sessiontoken',None), wentry_id=params.pop('wentryid',None))
File "C:\Users\Abba\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\GoogleMusicApi.py", line 85, in getSongStreamUrl
stream_url = self.getLogin().getStreamUrl(song_id, session_token=session_token, wentry_id=wentry_id)
File "C:\Users\Abba\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\GoogleMusicLogin.py", line 42, in getStreamUrl
return self.gmusicapi.get_stream_url(song_id, device_id, quality, session_token, wentry_id)
File "C:\Users\Abba\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\gmusicapi\clients\mobileclient.py", line 369, in get_stream_url
return self._make_call(mobileclient.GetStreamUrl, song_id, device_id, quality)
File "C:\Users\Abba\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\gmusicapi\clients\shared.py", line 81, in _make_call
return protocol.perform(self.session, self.validate, *args, **kwargs)
File "C:\Users\Abba\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\gmusicapi\protocol\shared.py", line 225, in perform
raise CallFailure(err_msg, call_name)
CallFailure: GetStreamUrl: 403 Client Error: Forbidden for url: https://mclients.googleapis.com/music/mplay?opt=hi&mjck=Tkguqqdxeccivpzouon3bdiyj74&pt=e&slt=1496549654491&tier=fr&sig=pgyW_mJUq_R-QPfBnFVql6Pbc_o&hl=en_US&dv=0&net=mob
(requests kwargs: {'url': 'https://mclients.googleapis.com/music/mplay', 'headers': {'X-Device-ID': '', 'Authorization': '<omitted>'}, 'allow_redirects': False, 'params': {'opt': 'hi', 'mjck': 'Tkguqqdxeccivpzouon3bdiyj74', 'pt': 'e', 'slt': '1496549654491', 'tier': 'fr', 'sig': 'pgyW_mJUq_R-QPfBnFVql6Pbc_o', 'hl': 'en_US', 'dv': 0, 'net': 'mob'}, 'method': 'GET'})
(response was: u'<HTML>\n<HEAD>\n<TITLE>Forbidden</TITLE>\n</HEAD>\n<BODY BGCOLOR="#FFFFFF" TEXT="#000000">\n<H1>Forbidden</H1>\n<H2>Error 403</H2>\n</BODY>\n</HTML>\n')
-->End of Python script error report<--
The account has an Android device registered to it and isn't open on any other computers etc
EDIT: I've noticed it still doesnt have a Device ID, so I made sure that my device was registered in my play account - and it wasn't, so I readded it to phone, cleared app data etc until it showed. Now it shows in Play Devices but still giving the same error in Kodi
EDIT2: Just tried with a second Google Play Account (the one I use on my phone) and it works fine. It seems that this is a device_ID issue, however the Account I'm trying to use has been enabled on an Android device (my old phone), and it shows as a device under the Android Account's settings.
EDIT3: So after unadding the account, clearing cache, clearing cookies, changing the DB file (it was saying it was locked), deleting the account, readding the account, deleting the addon, manually deleting the DB files after deleting the addon....ALL not working, it suddenly started working. The only difference I can see that I made, was when I installed the add-on, rather htan going straight to settings to add my account, I launched it - and had the addon pop up and ask for my login details/settings. Now seems to be working!