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

Erro ao carregar canais Globo #205

Open
marcusmuller opened this issue Sep 23, 2022 · 29 comments
Open

Erro ao carregar canais Globo #205

marcusmuller opened this issue Sep 23, 2022 · 29 comments

Comments

@marcusmuller
Copy link

Percebi que surge erro que mostra um código HTML no kodi e assim não consigo carregar os canais.

@marcusmuller
Copy link
Author

@olavopeixoto 📢
kodi.old.log
kodi.log

@eder-erl
Copy link

eder-erl commented Sep 27, 2022

Também estou com dificuldades para carregar os Canais Globo.

Segue log para análise: https://pastebin.mozilla.org/BvYz8sCj

@marcusmuller
Copy link
Author

Socorre aqui @olavopeixoto
HELP!

@olavopeixoto
Copy link
Owner

A globo retirou do ar a API de autenticacao que o addon estava usando. Acredito que so exista a API que precisa de Captcha no momento. Nao tem uma forma simples de implementar o captcha no Addon.
A opcao pra frente vai ser implementar o workflow da smartv, pedindo autoriazacao por codigo, mas estou sem tempo pra implementar isso por enquanto.

@marcusmuller
Copy link
Author

🤦 Só nos resta esperar mesmo.

@bruno-briner
Copy link
Contributor

Por aqui o addon tem funcionado normalmente, apesar que neste último fim de semana fiz alguns testes no meu RPi4 LibreElec onde eu usei um backup muito antigo e como era muito antigo tive que reinstalar o addon BRPlay. Depois de reinstalado tentei rodar o addon e também obtive erro de "html". Eu acho que bastou eu copiar o userdata/addon_data/plugin.video.brplay de uma versão que funcionava para que o addon voltasse a funcionar sem erro de "html". Talvez o arquivo "cache.db" ainda contém os dados das autenticações anteriores?

@olavopeixoto
Copy link
Owner

Por aqui o addon tem funcionado normalmente, apesar que neste último fim de semana fiz alguns testes no meu RPi4 LibreElec onde eu usei um backup muito antigo e como era muito antigo tive que reinstalar o addon BRPlay. Depois de reinstalado tentei rodar o addon e também obtive erro de "html". Eu acho que bastou eu copiar o userdata/addon_data/plugin.video.brplay de uma versão que funcionava para que o addon voltasse a funcionar sem erro de "html". Talvez o arquivo "cache.db" ainda contém os dados das autenticações anteriores?

O token fica no arquivo settings, se vc se autenticou antes de mudarem a API o token ainda sera valido por muito tempo. So nao pode "limpar as credenciais" no addon.
Se tiver acesso ao arquivo vc pode se autenticar pelo browser e copiar o token pra la, mas e um processo manual complexo pra quem nao tem conhecimento tecnico.

@bruno-briner
Copy link
Contributor

Por aqui o addon tem funcionado normalmente, apesar que neste último fim de semana fiz alguns testes no meu RPi4 LibreElec onde eu usei um backup muito antigo e como era muito antigo tive que reinstalar o addon BRPlay. Depois de reinstalado tentei rodar o addon e também obtive erro de "html". Eu acho que bastou eu copiar o userdata/addon_data/plugin.video.brplay de uma versão que funcionava para que o addon voltasse a funcionar sem erro de "html". Talvez o arquivo "cache.db" ainda contém os dados das autenticações anteriores?

O token fica no arquivo settings, se vc se autenticou antes de mudarem a API o token ainda sera valido por muito tempo. So nao pode "limpar as credenciais" no addon. Se tiver acesso ao arquivo vc pode se autenticar pelo browser e copiar o token pra la, mas e um processo manual complexo pra quem nao tem conhecimento tecnico.

Sim, acabei de verificar isto mesmo, eu restaurei um backup antigo com problema e bastou eu copiar o arquivo settings.xml de uma versão que funcionava para voltar a funcionar normalmente. Fica ai a dica para quem puder fazer isto.

Quando o token expirar eu vou ter que tentar usar a sua dica de autenticar pelo browser e copiar o token de autenticação.

@helviojr
Copy link

helviojr commented Oct 8, 2022

O token fica no arquivo settings, se vc se autenticou antes de mudarem a API o token ainda sera valido por muito tempo. So nao pode "limpar as credenciais" no addon. Se tiver acesso ao arquivo vc pode se autenticar pelo browser e copiar o token pra la, mas e um processo manual complexo pra quem nao tem conhecimento tecnico.

Quando o token expirar eu vou ter que tentar usar a sua dica de autenticar pelo browser e copiar o token de autenticação.

Tem essa informação técnica de como copiar esse token? Digamos que tenho acesso a todos os arquivos e bastante conhecimento. Só não sei onde pegar esse token após autenticar no navegador. Alguma dica?

@helviojr helviojr mentioned this issue Oct 8, 2022
@olavopeixoto
Copy link
Owner

Faz o login pelo Chrome. Abre a aba de Developer e vai em:
Application => Storage => Local Storage => https://globoplay.globo.com
Procura pela chave "authorizedUser", vai abrir o JSON na aba de baixo, copia o valor da propriedade Token.

Outra opção é pelo Cookie, verifica nos Cookies do dominio https://globoplay.globo.com. O token vai estar na chave GLBID

@marcusmuller
Copy link
Author

Por aqui o addon tem funcionado normalmente, apesar que neste último fim de semana fiz alguns testes no meu RPi4 LibreElec onde eu usei um backup muito antigo e como era muito antigo tive que reinstalar o addon BRPlay. Depois de reinstalado tentei rodar o addon e também obtive erro de "html". Eu acho que bastou eu copiar o userdata/addon_data/plugin.video.brplay de uma versão que funcionava para que o addon voltasse a funcionar sem erro de "html". Talvez o arquivo "cache.db" ainda contém os dados das autenticações anteriores?

O token fica no arquivo settings, se vc se autenticou antes de mudarem a API o token ainda sera valido por muito tempo. So nao pode "limpar as credenciais" no addon. Se tiver acesso ao arquivo vc pode se autenticar pelo browser e copiar o token pra la, mas e um processo manual complexo pra quem nao tem conhecimento tecnico.

Qual é o caminho pra encontrar o arquivo "settings"? No windows

@olavopeixoto
Copy link
Owner

@helviojr
Copy link

Faz o login pelo Chrome. Abre a aba de Developer e vai em: Application => Storage => Local Storage => https://globoplay.globo.com Procura pela chave "authorizedUser", vai abrir o JSON na aba de baixo, copia o valor da propriedade Token.

Outra opção é pelo Cookie, verifica nos Cookies do dominio https://globoplay.globo.com. O token vai estar na chave GLBID

Obrigado pela ajuda, mas não consegui fazer funcionar. Achei o token no navegador, conforme orientado. Sem muita certeza de onde colocar o token, tentei em globoplay_credentials e também em globoplay_user_data, no espaço onde havia um código de mesmo tamanho (e terminando igual), infelizmente, sem sucesso. Eu consigo navegar normalmente nos canais, programas, temporadas e episódios, mas sempre com aquela mensagem de erro do addon (código html vazio) e sempre dando erro ao tentar tocar um vídeo:

File "..\Kodi\addons\plugin.video.brplay\resources\lib\modules\globoplay\resourceshelper.py", line 411, in get_video_session
"Authorization": "Bearer " + glbid
TypeError: can only concatenate str (not "NoneType") to str

Pelo visto, glbid está vazia. Será que inseri incorretamente no settings.xml?

@bruno-briner
Copy link
Contributor

bruno-briner commented Oct 10, 2022

Faz o login pelo Chrome. Abre a aba de Developer e vai em: Application => Storage => Local Storage => https://globoplay.globo.com Procura pela chave "authorizedUser", vai abrir o JSON na aba de baixo, copia o valor da propriedade Token.
Outra opção é pelo Cookie, verifica nos Cookies do dominio https://globoplay.globo.com. O token vai estar na chave GLBID

Obrigado pela ajuda, mas não consegui fazer funcionar. Achei o token no navegador, conforme orientado. Sem muita certeza de onde colocar o token, tentei em globoplay_credentials e também em globoplay_user_data, no espaço onde havia um código de mesmo tamanho (e terminando igual), infelizmente, sem sucesso. Eu consigo navegar normalmente nos canais, programas, temporadas e episódios, mas sempre com aquela mensagem de erro do addon (código html vazio) e sempre dando erro ao tentar tocar um vídeo:

File "..\Kodi\addons\plugin.video.brplay\resources\lib\modules\globoplay\resourceshelper.py", line 411, in get_video_session "Authorization": "Bearer " + glbid TypeError: can only concatenate str (not "NoneType") to str

Pelo visto, glbid está vazia. Será que inseri incorretamente no settings.xml?

Você não inseriu corretamente,

No meu sistema que ainda está funcionando o token está em id="4654_credentials" ou em id="6905_credentials" (e eu não sei qual é a diferença entre eles.)

Se você não possui estes (e os associados "4654_user_data" e "6905_user_data") é porquê vc não tinha autenticado antes da mudança da API.

@helviojr
Copy link

Você não inseriu corretamente,

No meu sistema que ainda está funcionando o token está em id="4654_credentials" ou em id="6905_credentials" (e eu não sei qual é a diferença entre eles.)

Se você não possui estes (e os associados "4654_user_data" e "6905_user_data") é porquê vc não tinha autenticado antes da mudança da API.

Realmente, algo está errado. Eu havia recém migrado do Leia para o Matrix. Aparentemente as configurações são diferentes pois no meu settings.xml, as configurações são globoplay_... e globosat_... em vez de 4654_... e 6905_... Troquei os IDs das configurações ..._user_data e ..._credential e também não funcionou. Vamos aguardar se for possível ajustar ao novo tipo de autenticação, então.

@helviojr
Copy link

helviojr commented Oct 13, 2022

EDITADO: consegui fazer o meu funcionar, então vou ajustar a resposta.

Se você não possui estes (e os associados "4654_user_data" e "6905_user_data") é porquê vc não tinha autenticado antes da mudança da API.

A versão Matrix chama essas configurações de 4654_ e 6905_, enquanto a Leia chamava de globplay_ e globosat_. Entretanto, não é só isso.

Você não inseriu corretamente,

Sim, o formato no Matrix usa json.loads para decodificar as informações dessas configurações, enquanto a versão Leia usava pickle.loads. Imagino que o principal problema resida aí. Dessa forma, não sei exatamente qual seria o formato esperado aí. Pelo visto, terei que ficar sem o addon por ora. Muito obrigado pelo apoio. A questão é que precisa seguir o padrão json para transformar em JSON.

Consegui transformar as configurações do Leia em json corretamente, o erro html não aparece mais durante a navegação, pois o addon agora considera autenticado. Aparentemente ele navega nos itens sem problema, mas falha ao tentar executar. Não sei se havia algum cache, mas quando desmarquei as opções "Ignorar autorização de canais" a execução dos vídeos voltou a funcionar!

O erro HTML ocorre quando não consegue carregar o cache de autenticação do settings.xml:

WARNING <general>: [plugin.video.brplay] - Auth: Creating Authenticator for service 4654
WARNING <general>: [plugin.video.brplay] - ERROR Loading auth cache: Expecting value: line 1 column 1(char 1)
WARNING <general>: [plugin.video.brplay] - Auth: Creating Authenticator for service 6905
WARNING <general>: [plugin.video.brplay] - ERROR Loading auth cache: Expecting value: line 1 column 1(char 1)
...
WARNING <general>: [plugin.video.brplay] - username/password set. trying to authenticate
WARNING <general>: [plugin.video.brplay] - POST https://login.globo.com/api/authentication/sdk
...
WARNING <general>: [plugin.video.brplay] - GLOBOPLAY (6905) AUTHENTICATION RESPONSE: 404

(em seguida, o código html 404 que mostra na interface)

Consertando as credenciais no settings.xml, o addon se considera autenticado e não passa por esses passos. Navega normalmente:

WARNING <general>: [plugin.video.brplay] - Auth: Creating Authenticator for service 4654
WARNING <general>: [plugin.video.brplay] - Auth: Creating Authenticator for service 6905
WARNING <general>: [plugin.video.brplay] - [GLOBO AUTH] - already authenticated
...
WARNING <general>: [plugin.video.brplay] - CACHING RESULTS TO globoplay

Eu havia postado no issue #193 as mudanças que tive que fazer para alterar a configuração do formato antigo (Leia) para o novo (Matrix = json).

@crisclacerda
Copy link

Alguém pode me ajudar a colocar o token manualmente?
O que eu fiz foi simplemente colocar o valor do cookie GLBID em globosat_credentials conforme o print.
Mas não funcionou.
Screen Shot 2022-12-03 at 8 49 26 PM
Reparei que no NOW que loguei com sucesso, aprace varios outros items no credentials além do token...
Imagino que falta isso...

@crisclacerda
Copy link

Alou @helviojr, @olavopeixoto podem me dar um explicação mais detalhada de como fazer funcionar por favor?

@edcarlosm
Copy link

@helviojr, @olavopeixoto
teria como disponibilizar o arquivo já pronto só com os locais que temos que editar?

@edcarlosm
Copy link

Alguém pode me ajudar a colocar o token manualmente? O que eu fiz foi simplemente colocar o valor do cookie GLBID em globosat_credentials conforme o print. Mas não funcionou. Screen Shot 2022-12-03 at 8 49 26 PM Reparei que no NOW que loguei com sucesso, aprace varios outros items no credentials além do token... Imagino que falta isso...

eu acho que tem mais uma parametro alem disso, pós tentei da mesma forma que voce falou e não funciona de forma alguma

@bruno-briner
Copy link
Contributor

bruno-briner commented Jan 31, 2023

@edcarlosm

Tente da seguinte forma.

Adicione em "settings.xml"

<setting id="4654_credentials" default="true">{&quot;GLBID&quot;: &quot;TOKEN&quot;, &quot;success&quot;: true, &quot;error_message&quot;: &quot;Usu\u00e1rio autenticado com sucesso&quot;}</setting>

<setting id="6905_credentials" default="true">{&quot;GLBID&quot;: &quot;TOKEN&quot;, &quot;success&quot;: true, &quot;error_message&quot;: &quot;Usu\u00e1rio autenticado com sucesso&quot;}</setting>

<setting id="4654_user_data" default="true">{}</setting>

<setting id="6905_user_data" default="true">{}</setting>

onde TOKEN de "4654_credentials" e "6905_credentials" é a chave GLBID do Cookies como explicado acima.

Em testes simples no meu sistema (que funciona perfeitamente à tempos, diga-se de passagem) continua funcionando se eu fizer como explicado acima.

OBS: As partes "4654_user_data" e "6905_user_data" são bastante longas e complexas, contém nome, data de nascimento, local, email e não-sei-mais-o-quê, mas por tentativa e erro vejo que apagando tudo também funciona. Eu só não testei não possuir estas chaves no "settings.xml" e deixar que o addon eventualmente as crie.

@alexlopes
Copy link

Opa @bruno-briner valeu pelo norte! Qual a versão do seu Kodi? No meu peguei esses erros (mesmo com as entradas no arquivo) e estou na versão 19.3.

23-01-31 20:45:37.814 T:44303   DEBUG <CAddonSettings[plugin.video.brplay]>: trying to load setting definitions from old format...
2023-01-31 20:45:37.817 T:44303   DEBUG <CSettingsManager>: requested setting (4654_credentials) was not found.
2023-01-31 20:45:37.817 T:44303   DEBUG <CSettingsManager>: requested setting (4654_user_data) was not found.
2023-01-31 20:45:37.817 T:44303   DEBUG <CSettingsManager>: requested setting (6905_credentials) was not found.
2023-01-31 20:45:37.817 T:44303   DEBUG <CSettingsManager>: requested setting (6905_user_data) was not found.

@olavopeixoto queria ajudar nesse plugin se puder, sobre essa questão dos passos por SmarTV chegou a pensar em algo? Eu vi aqui que o Slyguy faz esses procesos nos plugins do HBOMax e DisneyPlus, o que acha?

@edcarlosm
Copy link

@edcarlosm

Tente da seguinte forma.

Adicione em "settings.xml"

<setting id="4654_credentials" default="true">{&quot;GLBID&quot;: &quot;TOKEN&quot;, &quot;success&quot;: true, &quot;error_message&quot;: &quot;Usu\u00e1rio autenticado com sucesso&quot;}</setting>

<setting id="6905_credentials" default="true">{&quot;GLBID&quot;: &quot;TOKEN&quot;, &quot;success&quot;: true, &quot;error_message&quot;: &quot;Usu\u00e1rio autenticado com sucesso&quot;}</setting>

<setting id="4654_user_data" default="true">{}</setting>

<setting id="6905_user_data" default="true">{}</setting>

onde TOKEN de "4654_credentials" e "6905_credentials" é a chave GLBID do Cookies como explicado acima.

Em testes simples no meu sistema (que funciona perfeitamente à tempos, diga-se de passagem) continua funcionando se eu fizer como explicado acima.

OBS: As partes "4654_user_data" e "6905_user_data" são bastante longas e complexas, contém nome, data de nascimento, local, email e não-sei-mais-o-quê, mas por tentativa e erro vejo que apagando tudo também funciona. Eu só não testei não possuir estas chaves no "settings.xml" e deixar que o addon eventualmente as crie.

Muito obrigado mesmo, pegou de primeira no kodi 19.5

@bruno-briner
Copy link
Contributor

@edcarlosm O addon ainda funciona para você?

@edcarlosm
Copy link

@edcarlosm O addon ainda funciona para você?

vou ter que testa quando chega em casa a noite, só consegui coloca para funciona com o kodi no pc, não consegui colocar dentro do meu google tv não

@marcusmuller
Copy link
Author

kodi.log
Eu fiz todos os ajustes, mas to tendo esse erro. alguém poderia ver?

@marcusmuller
Copy link
Author

Cadê o @olavopeixoto ? Vai voltar pro projeto?

@marcusmuller
Copy link
Author

@edcarlosm
Tente da seguinte forma.
Adicione em "settings.xml"
<setting id="4654_credentials" default="true">{&quot;GLBID&quot;: &quot;TOKEN&quot;, &quot;success&quot;: true, &quot;error_message&quot;: &quot;Usu\u00e1rio autenticado com sucesso&quot;}</setting>
<setting id="6905_credentials" default="true">{&quot;GLBID&quot;: &quot;TOKEN&quot;, &quot;success&quot;: true, &quot;error_message&quot;: &quot;Usu\u00e1rio autenticado com sucesso&quot;}</setting>
<setting id="4654_user_data" default="true">{}</setting>
<setting id="6905_user_data" default="true">{}</setting>
onde TOKEN de "4654_credentials" e "6905_credentials" é a chave GLBID do Cookies como explicado acima.
Em testes simples no meu sistema (que funciona perfeitamente à tempos, diga-se de passagem) continua funcionando se eu fizer como explicado acima.
OBS: As partes "4654_user_data" e "6905_user_data" são bastante longas e complexas, contém nome, data de nascimento, local, email e não-sei-mais-o-quê, mas por tentativa e erro vejo que apagando tudo também funciona. Eu só não testei não possuir estas chaves no "settings.xml" e deixar que o addon eventualmente as crie.

Muito obrigado mesmo, pegou de primeira no kodi 19.5

Funcionou o globoplay? Aqui só deu certo abrir os canais do Canais Globo(Globosat).

Globoplay aparece sempre uma mensagem de erro de reprodução.

@marcusmuller
Copy link
Author

@edcarlosm
Tente da seguinte forma.
Adicione em "settings.xml"
<setting id="4654_credentials" default="true">{&quot;GLBID&quot;: &quot;TOKEN&quot;, &quot;success&quot;: true, &quot;error_message&quot;: &quot;Usu\u00e1rio autenticado com sucesso&quot;}</setting>
<setting id="6905_credentials" default="true">{&quot;GLBID&quot;: &quot;TOKEN&quot;, &quot;success&quot;: true, &quot;error_message&quot;: &quot;Usu\u00e1rio autenticado com sucesso&quot;}</setting>
<setting id="4654_user_data" default="true">{}</setting>
<setting id="6905_user_data" default="true">{}</setting>
onde TOKEN de "4654_credentials" e "6905_credentials" é a chave GLBID do Cookies como explicado acima.
Em testes simples no meu sistema (que funciona perfeitamente à tempos, diga-se de passagem) continua funcionando se eu fizer como explicado acima.
OBS: As partes "4654_user_data" e "6905_user_data" são bastante longas e complexas, contém nome, data de nascimento, local, email e não-sei-mais-o-quê, mas por tentativa e erro vejo que apagando tudo também funciona. Eu só não testei não possuir estas chaves no "settings.xml" e deixar que o addon eventualmente as crie.

Muito obrigado mesmo, pegou de primeira no kodi 19

@edcarlosm

Tente da seguinte forma.

Adicione em "settings.xml"

<setting id="4654_credentials" default="true">{&quot;GLBID&quot;: &quot;TOKEN&quot;, &quot;success&quot;: true, &quot;error_message&quot;: &quot;Usu\u00e1rio autenticado com sucesso&quot;}</setting>

<setting id="6905_credentials" default="true">{&quot;GLBID&quot;: &quot;TOKEN&quot;, &quot;success&quot;: true, &quot;error_message&quot;: &quot;Usu\u00e1rio autenticado com sucesso&quot;}</setting>

<setting id="4654_user_data" default="true">{}</setting>

<setting id="6905_user_data" default="true">{}</setting>

onde TOKEN de "4654_credentials" e "6905_credentials" é a chave GLBID do Cookies como explicado acima.

Em testes simples no meu sistema (que funciona perfeitamente à tempos, diga-se de passagem) continua funcionando se eu fizer como explicado acima.

OBS: As partes "4654_user_data" e "6905_user_data" são bastante longas e complexas, contém nome, data de nascimento, local, email e não-sei-mais-o-quê, mas por tentativa e erro vejo que apagando tudo também funciona. Eu só não testei não possuir estas chaves no "settings.xml" e deixar que o addon eventualmente as crie.

Aqui deu uma erro na execução dos canais globos regionais

Erro 404 no log http://security.video.globo.com/videos/6120663/hash

kodi.log

Os canais da Globosat estão ok

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

No branches or pull requests

8 participants