Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error playing live streams/vods #461

Closed
efirshik opened this issue Nov 8, 2019 · 76 comments
Closed

error playing live streams/vods #461

efirshik opened this issue Nov 8, 2019 · 76 comments

Comments

@efirshik
Copy link

efirshik commented Nov 8, 2019

2019-11-08 23:42:09.133 T:3571446640 WARNING: script.module.python.twitch: API version |V5| is deprecated, update to |Helix| by |TBD|
2019-11-08 23:42:10.080 T:3571446640  NOTICE: Twitch: Calling |_play| for mode |play| with pos args |[]| and kwargs |{'channel_id': '82875101'}|
2019-11-08 23:42:10.659 T:3571446640   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!                                                     
                                            Error Type: <type 'exceptions.AttributeError'>  
                                            Error Contents: 'dict' object has no attribute 'decode'
                                            Traceback (most recent call last):                     
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/addon_runner.py", line 15, in <module>
                                                router.run(sys.argv)                                                                              
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/router.py", line 297, in run
                                                dispatcher.dispatch(mode, queries)                                                                   
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/common/url_dispatcher.p$
", line 94, in dispatch                                                                                                                                
                                                self.func_registry[mode](*args, **kwargs)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/error_handling.py", lin$
 29, in wrapper                                                                                                                                        
                                                result = func(*args, **kwargs)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/router.py", line 157, in _pla$
                                                play.route(twitch_api, seek_time, channel_id, video_id, slug, ask, use_player, quality, channel_name)  
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/routes/play.py", line 116, in
route                                                                                                                                                 
                                                videos = api.get_live(name)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/error_handling.py", lin$
 80, in wrapper                                                                                                                                        
                                                result = func(*args, **kwargs)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/common/cache.py", line $
04, in memoizer                                                                                                                                        
                                                result = func(*args, **kwargs)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/api.py", line 325, in g$
t_live                                                                                                                                                 
                                                results = self.usher.live(name)
                                              File "/storage/.kodi/addons/script.module.python.twitch/resources/lib/twitch/parser.py", line 51, in m3u$
_wrapper                                                                                                                                               
                                                results = results.decode('utf-8')
                                            AttributeError: 'dict' object has no attribute 'decode'
                                            -->End of Python script error report<--                
2019-11-08 23:42:10.868 T:4092703520   ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.twitch/?channel_id=82875101&mo$
e=play]                                              
@neo-neo1
Copy link

neo-neo1 commented Nov 8, 2019

I started getting an identical problem just now also. Streams appear, but error out on attempting to play.


2019-11-08 14:35:28.275 T:4092644784   ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.twitch/?channel_id=23945610&mode=play]
2019-11-08 14:35:30.083 T:3534066560 WARNING: script.module.python.twitch: API version |V5| is deprecated, update to |Helix| by |TBD|
2019-11-08 14:35:30.561 T:3534066560  NOTICE: Twitch: Calling |_play| for mode |play| with pos args |[]| and kwargs |{'channel_id': '136765278'}|
2019-11-08 14:35:31.072 T:3534066560   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.AttributeError'>
                                            Error Contents: 'dict' object has no attribute 'decode'
                                            Traceback (most recent call last):
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/addon_runner.py", line 15, in <module>
                                                router.run(sys.argv)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/router.py", line 297, in run
                                                dispatcher.dispatch(mode, queries)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/common/url_dispatcher.py", line 94, in dispatch
                                                self.func_registry[mode](*args, **kwargs)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/error_handling.py", line 29, in wrapper
                                                result = func(*args, **kwargs)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/router.py", line 157, in _play
                                                play.route(twitch_api, seek_time, channel_id, video_id, slug, ask, use_player, quality, channel_name)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/routes/play.py", line 116, in route
                                                videos = api.get_live(name)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/error_handling.py", line 80, in wrapper
                                                result = func(*args, **kwargs)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/common/cache.py", line 104, in memoizer
                                                result = func(*args, **kwargs)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/api.py", line 325, in get_live
                                                results = self.usher.live(name)
                                              File "/storage/.kodi/addons/script.module.python.twitch/resources/lib/twitch/parser.py", line 51, in m3u8_wrapper
                                                results = results.decode('utf-8')

@aGreatDay
Copy link

aGreatDay commented Nov 8, 2019

I'm having the same issue

2019-11-08 22:04:16.854 T:1480585952 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.AttributeError'>
Error Contents: 'dict' object has no attribute 'decode'
Traceback (most recent call last):
File "/home/pi/.kodi/addons/plugin.video.twitch/resources/lib/addon_runner.py", line 15, in
router.run(sys.argv)
File "/home/pi/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/router.py", line 297, in run
dispatcher.dispatch(mode, queries)
File "/home/pi/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/common/url_dispatcher.py", line 94, in dispatch
self.func_registry[mode](*args, **kwargs)
File "/home/pi/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/error_handling.py", line 29, in wrapper
result = func(*args, **kwargs)
File "/home/pi/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/router.py", line 157, in _play
play.route(twitch_api, seek_time, channel_id, video_id, slug, ask, use_player, quality, channel_name)
File "/home/pi/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/routes/play.py", line 116, in route
videos = api.get_live(name)
File "/home/pi/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/error_handling.py", line 80, in wrapper
result = func(*args, **kwargs)
File "/home/pi/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/common/cache.py", line 104, in memoizer
result = func(*args, **kwargs)
File "/home/pi/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/api.py", line 325, in get_live
results = self.usher.live(name)
File "/home/pi/.kodi/addons/script.module.python.twitch/resources/lib/twitch/parser.py", line 51, in m3u8_wrapper
results = results.decode('utf-8')
AttributeError: 'dict' object has no attribute 'decode'
-->End of Python script error report<--
2019-11-08 22:04:17.116 T:1902371680 ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.twitch/?channel_id=15564828&mode=play]

@Warloxx
Copy link

Warloxx commented Nov 8, 2019

Can confirm, observing same issue as above. Although I was trying to watch a VOD rather than livestream.

2019-11-08 21:36:07.030 T:1344902000   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.AttributeError'>
                                            Error Contents: 'dict' object has no attribute 'decode'
                                            Traceback (most recent call last):
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/addon_runner.py", line 15, in <module>
                                                router.run(sys.argv)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/router.py", line 311, in run
                                                dispatcher.dispatch(mode, queries)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/common/url_dispatcher.py", line 94, in dispatch
                                                self.func_registry[mode](*args, **kwargs)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/error_handling.py", line 29, in wrapper
                                                result = func(*args, **kwargs)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/router.py", line 171, in _play
                                                play.route(twitch_api, seek_time, channel_id, video_id, slug, ask, use_player, quality, channel_name)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/routes/play.py", line 87, in route
                                                _videos = api.get_vod(video_id)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/error_handling.py", line 80, in wrapper
                                                result = func(*args, **kwargs)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/common/cache.py", line 104, in memoizer
                                                result = func(*args, **kwargs)
                                              File "/storage/.kodi/addons/plugin.video.twitch/resources/lib/twitch_addon/addon/api.py", line 326, in get_vod
                                                results = self.usher.video(video_id)
                                              File "/storage/.kodi/addons/script.module.python.twitch/resources/lib/twitch/parser.py", line 51, in m3u8_wrapper
                                                results = results.decode('utf-8')
                                            AttributeError: 'dict' object has no attribute 'decode'
                                            -->End of Python script error report<--

@aGreatDay
Copy link

Streamlink is having the same issue: streamlink/streamlink#2680

@sth
Copy link

sth commented Nov 8, 2019

Enabling debug logging gives some insight:

2019-11-08 22:32:04.256 T:140712499615488   DEBUG: Twitch: Calling cached method: |twitch_addon.addon.api.Twitch.get_
live|
2019-11-08 22:32:04.258 T:140712499615488   DEBUG: script.module.python.twitch: GET QUERY: url: |https://api.twitch.tv/api/channels/heromarine/access_token|, params: |{'need_https': 'true', 'platform': 'web', 'player_backend': 'mediaplayer'}|, data: |{}|, headers: |{'Client-ID': '*****', 'Authorization': 'OAuth ***********'}|, target_func: |channel_token|
2019-11-08 22:32:04.259 T:140712499615488   DEBUG: script.module.python.twitch: Downloading: |https://api.twitch.tv/api/channels/heromarine/access_token?need_https=true&platform=web&player_backend=mediaplayer|
2019-11-08 22:32:04.566 T:140712499615488   DEBUG: script.module.python.twitch: url: |https://api.twitch.tv/api/channels/heromarine/access_token| parameters: |{'need_https': 'true', 'platform': 'web', 'player_backend': 'mediaplayer'}|
                                            {
                                                "error": "Gone", 
                                                "message": "this API has been removed.", 
                                                "status": 410
                                            }
2019-11-08 22:32:04.571 T:140712499615488   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--

So it seems like the used API call is not available like this anymore.

@neo-neo1
Copy link

neo-neo1 commented Nov 8, 2019

Anyone know of a workaround?

@fragande
Copy link

fragande commented Nov 8, 2019

Anyone know of a workaround?

I managed to get it working by changing the OAuth client ID under the Developer menu to the Twitch website Client ID (kimne78kx3ncx6brgo4mv6wki5h1ko) and using OAuth Token extracted from web browser cookie (auth-token). This sort of works as streams are playing again but I don't get the user categories (e.g. Followed channels and such).

Lets hope this isn't Twitch shutting down 3rd party applications :(

@prometheanfire
Copy link

I had to remove my existing auth-token, then change the client ID to the twitch website one, then pull the new auth-token from the website manually (not use the built in request-auth-token function). If I did not remove my existing auth token the change in the client ID would be rejected (probably because the token was associated with the v3 api?)

To me it looks like client IDs and tokens associated with the v3 api are what are not working.

@ghost
Copy link

ghost commented Nov 9, 2019

Neither of the above worked for me, but I might have used the wrong token. That being said even if I have no auth info at all trying to play a stream is erroring for me.

@Wibbbs
Copy link

Wibbbs commented Nov 9, 2019

Seeing the same error here. Hopefully this isn't the end of the v3 api.

@Wibbbs
Copy link

Wibbbs commented Nov 9, 2019

Its working again.

@xenius
Copy link

xenius commented Nov 9, 2019

Working again here. With the client-id empty. Just using the 0authtoken. Generated by twitchaddon.page/***** link.

EDIT: And broken again?

@kuraikaze
Copy link

I was getting the same API fail and/or timeout issues when Twitch tied itself in knots dealing with the huge extra load from the Fortnite new season event a few weeks ago.
Is there a big load-generating event happening on the service currently ?

@efirshik
Copy link
Author

efirshik commented Nov 9, 2019

"following live channels" work again, without manipulation with token :)

@fragande
Copy link

Problem back today again. Seems that there's not much to be done other than hope Twitch doesn't break the undocumented API endpoint permanently. From the discussion over at streamlink it seems there's no real alternative.

Question is would it be possible to use the Twitch client ID with your web user auth-token and still get Followed channels and similar in Twitch-on-Kodi?

@efirshik
Copy link
Author

yes problem back again today :(

@neo-neo1
Copy link

Problem back today again. Seems that there's not much to be done other than hope Twitch doesn't break the undocumented API endpoint permanently. From the discussion over at streamlink it seems there's no real alternative.

Question is would it be possible to use the Twitch client ID with your web user auth-token and still get Followed channels and similar in Twitch-on-Kodi?

Confirmed, same problem is back. I hope this is fixable...

@prometheanfire
Copy link

I just streamed something using the 'fix' mentioned previously (their client-id, my auth token).

@neo-neo1
Copy link

neo-neo1 commented Nov 11, 2019

I just streamed something using the 'fix' mentioned previously (their client-id, my auth token).

Indeed, I can confirm this is works though is not the ideal solution. Credit goes to @fragande for detailed instructions

@fragande
Copy link

fragande commented Nov 11, 2019

Yeah, it's a workaround for now I guess. Today when I changed back to the Twitch client ID + web auth token I actually didn't lose Followed channels, no idea why. According to the cookie data the web auth token should be good for 6 months.

If it's possible to keep Followed channels and such it could be a "permanent" solution (until Twitch shuts that down too ...), albeit a very dirty one that probably breaks ToS. Third party apps are supposed to use their own client ID's.

I just streamed something using the 'fix' mentioned previously (their client-id, my auth token).

Indeed, I can confirm this is works though is not the ideal solution. Credit goes to @fragande for detailed instructions

Did either of you get to keep Followed channels when doing this?

@neo-neo1
Copy link

Yeah, it's a workaround for now I guess. Today when I changed back to the Twitch client ID + web auth token I actually didn't lose Followed channels, no idea why. According to the cookie data the web auth token should be good for 6 months.

If it's possible to keep Followed channels and such it could be a "permanent" solution (until Twitch shuts that down too ...), albeit a very dirty one that probably breaks ToS. Third party apps are supposed to use their own client ID's.

I just streamed something using the 'fix' mentioned previously (their client-id, my auth token).

Indeed, I can confirm this is works though is not the ideal solution. Credit goes to @fragande for detailed instructions

Did either of you get to keep Followed channels when doing this?

Surprisingly enough yes, the followed channels do work as expected

@Baerht
Copy link

Baerht commented Nov 11, 2019

this issue seems to be wide spread across several 3 party viewing 'apps' . Streamview Is also experiencing this as well

@fragande
Copy link

fragande commented Nov 11, 2019

Surprisingly enough yes, the followed channels do work as expected

I guess I did something differently the first time then. In theory I don't think there should be a difference as it's the same data Twitch-on-Kodi is authorized to access when creating the OAuth, but didn't work for me first time around.

this issue seems to be wide spread across several 3 party viewing 'apps' . Streamview Is also experiencing this as well

Yes, it's affecting every 3rd party app using this API endpoint. Seems Twitch are periodically blocking every client ID but their own for unknown reasons. It seems Twitch aren't happy about this endpoint being used in the first place as it's undocumented and unsupported but they haven't cracked down on the usage of it until now AFAIK.

@ghost
Copy link

ghost commented Nov 11, 2019

I noticed a few versions of the Twitch API in the developer section of their site. I don't know much about this, or other addons, but how difficult would it be to use a newer more supported API version? I get there would be work involved but would it be worth it for hopefully some future proofing?

@xenius
Copy link

xenius commented Nov 11, 2019

Can anyone explain the fix workaround? When i use twitch id oauthtoken (kimne78kx3ncx6brgo4mv6wki5h1ko)and the web generated auth token ,its still not working?

@anxdpanic
Copy link
Owner

As mentioned, this is due to an undocumented API endpoint and is not included on their developer site.

We are currently use v5 at the moment for all other functions, which currently has no eol date. The helix API is ready in the module for when the time comes, it comes with additional limitations which is why we haven't migrated to helix yet.

Currently the only way to temporarily workaround this is to use the client id and oauth token from the website.

@anxdpanic
Copy link
Owner

@xenius
Just double checked here and it is working here. I'd double check you didn't get an extra character or something in the oauth token, and it shouldn't be required but you could also run Settings - Maintenance - Reset function cache

@anxdpanic
Copy link
Owner

you want to use the oauth token you see in the same place as you found the client id, not the one you generated from the add-on (back that one up first).

@xenius
Copy link

xenius commented Nov 11, 2019

Where can i find the exact 2 things i need to get this working again?

@MrSprigster
Copy link
Collaborator

True, maybe a toggle in Developer settings, Disable Playback Authentication (Workaround)

@anxdpanic
Copy link
Owner

Actually working on something atm.
I really don't want to hard code their client id as they will likely just change it at that point, so I added a 'Private API Credentials' to Settings -> Login

There you can put in the web pages client id and oauth token(for users who want subscriber only content access), they will only be used on those end points.

So regular auth credentials can be left in place, and if Twitch happens to revert the change users can just delete the private credentials.

@anxdpanic
Copy link
Owner

anxdpanic commented Nov 18, 2019

The new zips are ready, https://github.com/MrSprigster/Twitch-on-Kodi/releases/tag/2.4.7
You'll need to install first script.module.python.twitch-2.0.10.zip before installing plugin.video.twitch-2.4.7.zip

If you've already changed your client id and/or oauth token, you can safely remove the client id and use your old oauth token. If you have the oauth token from the web page, you can add that to Settings - Login - Private API Credentials - OAuth Token.

If the client id changes from kimne78kx3ncx6brgo4mv6wki5h1ko then you can update Settings - Login - Private API Credentials - OAuth Client-ID This also means the oauth token likely changed as well, so update that as well if necessary.

You can also edit the settings.xml file

    <setting id="private_oauth_clientid">paste_client_id_from_the_web_here</setting>
    <setting id="private_oauth_token">paste_oauth_token_from_the_web_here</setting>

@anxdpanic
Copy link
Owner

I updated the previous comment with new zips, 2.4.7 and 2.0.10. Following Games, Toggle Follow on Games started responding with the Gone response shortly after the last release. Those should now work with the private credentials entered as well.

@EiswolfHS
Copy link

Yeah it works again! Thanks!

@Extarys
Copy link

Extarys commented Nov 23, 2019

I updated one of my Kodis yesterday. Thanks for the hard and fast work. I wonder if I'm the only one having issues accessing the "Game" menu? I can see the featured streams but not the Games section.

I cannot provides logs at this time. I'll investigate this evening or tomorrow.

@efirshik
Copy link
Author

please fix "get oauth token" link in new version
Screenshot from 2019-11-23 21-06-33

@anxdpanic
Copy link
Owner

@efirshik it is case sensitive https://twitchaddon.page.link/eetJ

@Dr0plexx
Copy link

Dr0plexx commented Nov 26, 2019

I think i need some help. On my Smart-TV with Kodi installed it doesnt work at all since Twitch changed the API or whatever. When i enter my OAtuth Token, he shows me the correct Channels i follow, but when i click a Stream to watch there is a popup with "Gone [410] This API has been removed." And later he say me: Invalid OAutch Token.
Its on TV, i cant read log or edit a settings file. :(

@Extarys
Copy link

Extarys commented Nov 26, 2019

@Dr0plexx you can read @anxdpanic comments above.

The new zips are ready, https://github.com/MrSprigster/Twitch-on-Kodi/releases/tag/2.4.7
You'll need to install first script.module.python.twitch-2.0.10.zip before installing plugin.video.twitch-2.4.7.zip

@Dr0plexx
Copy link

Thanks, but i installed them already. Those Errors are "made" with the Pyton 2.0.10 and Kodi 2.4.7.
I actually need to use the sh*ty Twitch App on TV for watching Streams. :/

@Extarys
Copy link

Extarys commented Nov 26, 2019

Oh, sorry :/
I don't really know what to say. For me using LibreElec, the Featured streams works fine, but everything else gives me an error, which I can cope with for the time being.
Maybe someone else will stop by and have some insight for you though. Hang tight.

@anxdpanic
Copy link
Owner

Would need complete logs with debug logging enabled to see what is going on. It is and has been working with all features for me.

@Dr0plexx
Copy link

Thats the problem. I dont know how and where to find those loggings on TV. Maybe its impossible to reach those files because of very limited access and the lack of a File Browser or something like that.
Is it normal the OAuth Token change every time i click "Get OAuth Token"? I thought its unique.

@anxdpanic
Copy link
Owner

Yes it would be different every time, you're generating a new one every time that is done.

https://kodi.wiki/view/Log_file/Easy <- Follow this, and use step 3.1 for uploading the log

@Dr0plexx
Copy link

Thats nice. Here it is:
https://paste.kodi.tv/oxazeyasud

@anxdpanic
Copy link
Owner

That's just a regular log, need to do Step 2 first

@Dr0plexx
Copy link

Sorry.
I enabled debug logging and restartet Kodi. This is the new one. Hope thats the right one.
https://paste.kodi.tv/xemogetewo

@anxdpanic
Copy link
Owner

anxdpanic commented Nov 26, 2019

That was the one. Looks like it is using the wrong Client ID

Can you double check that Settings -> Login -> Private API Credentials -> OAuth Client ID is kimne78kx3ncx6brgo4mv6wki5h1ko
and Settings -> Login -> Private API Credentials -> OAuth Token is blank. Unless you get the oauth token from inspecting the web page, as mentioned #461 (comment) the information gathered here goes in a new setting as mentioned #461 (comment)

Also Settings -> Developer should be blank.

@Dr0plexx
Copy link

Wow that kimne.. Client ID thing was the only Problem? It works now with my OAuth Token i created in the first row and the kimne.. ID in the Private API. I have tried that some days ago. But maybe in the wrong row. I am sorry for my dumbness :)
But really THANKS for this great help and support!

@Tony322
Copy link

Tony322 commented Nov 27, 2019

Hmm. Updated Python script, updated the addon. Now I dont get an error, but the stream starts loading for a long time then i get "One or more items failed to play". Tried unisntalling and reinstalling from scratch, but got the same issue. Clientid is correct. Also tried with and without my oauth token. Is it only me?

@anxdpanic
Copy link
Owner

2.4.7 was merged into the official repository, will be available when caching allows

@BlackEdder
Copy link

You set the Twitch client ID (kimne78kx3ncx6brgo4mv6wki5h1ko) under Developer > OAuth Client ID in the GUI. For the Login > OAuth Token you want to extract it from the web page cookie (it's not the OAuth generated by the add-on you want). In Firefox go to twitch.tv (be logged in), right click anywhere and click Inspect element, go to the Storage tab. There should be a post called auth-token. Copy that value and enter it in Kodi Login > OAuth Token.

To avoid having to type everything manually you can also edit the settings.xml file in .kodi/userdata/addon_data/plugin.video.twitch:

<setting id="oauth_clientid">kimne78kx3ncx6brgo4mv6wki5h1ko</setting>
<setting id="oauth_token">paste_your_web_auth-token_here</setting>

For others who might run into the same issue as me. I ended up having to change the clientid as well, because streams I subscribe to (so I can watch their past broadcasts) stopped working for me. To get the new clientid, I used firefox as above and copy and pasted the contents of the api_token into the clientid field (as well as copying the "auth-token" into the token field).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests