hsadok / guiabolso2csv

Baixe os dados de transações do GuiaBolso em formato csv ou xlsx (Excel).
GNU General Public License v3.0
36 stars 16 forks source link

Problema Guiabolso2csv (NO_EVENT_HANDLER_FOUND) #10

Closed goncalvesfran closed 4 years ago

goncalvesfran commented 4 years ago

IMG_3892

Quando eu executo o programa guiabolso2csv aparece essa mensagem de erro. Poderiam me ajudar, por favor? Obrigado

hsadok commented 4 years ago

Você tentou várias vezes? Tem certeza que o login e senha estão certos?

goncalvesfran commented 4 years ago

Sim, tentei algumas vezes. Verifiquei o login e senha e estão corretos.

hsadok commented 4 years ago

Eu não tenho mais conta no GuiaBolso mas o @marlindo71 talvez consiga te ajudar

goncalvesfran commented 4 years ago

@hsadok obrigado!

@marlindo71 Olá Marlindo, consegue me ajudar, pf?

luxu commented 4 years ago

Amigo posso estar errado, mas o guiabolso implementou o recaptcha e mudou a forma de logar no site deles, e se mudou lá o acesso via CLI tb deve ter sido incluído alguma segurança a mais causando esse erro aí.

gepetz commented 4 years ago

Nó!! Alguma alma santa poderia reconfigurar o acesso, não consigo mais viver sem essa API. @marlindo71 salva nós ai!!

goncalvesfran commented 4 years ago

Essa API é muito útil. Gostaria de parabenizar os desenvolvedores e pedir um help para atualiza-lá. É possível? Obrigado!

marlindo71 commented 4 years ago

Boa noite, galera.

O @luxu tem razão quanto ao recaptcha. Eles implementaram o recaptcha na tela de login. Aí agora na hora de enviar a requisição de login, também tem que enviar o token do recaptcha.

Eu não tenho experiência com o recaptcha. Fiz algumas pesquisas na internet e tentei contornar de alguma forma mas não consegui não.

Eu to tentando agora uma outra abordagem e pelos testes parece que vai funcionar.

Eu to testando aqui de fazer o primeiro login como se fosse através de um celular. Porque eu vi pelas requisições que pelo app de celular não precisa do recaptcha.

Assim que eu terminar os testes eu aviso.

goncalvesfran commented 4 years ago

Obrigado Marlon pelo apoio! Estamos torcendo pra dar certo! Valeu.

luxu commented 4 years ago

estou testando esse projeto recaptcha qq novidade coloco aqui...

gepetz commented 4 years ago

Vida já não está sendo a mesma sem a API!

marlindo71 commented 4 years ago

Boa tarde, meus queridos.

Fiquei pegado com outras coisas e não pude focar aqui.

Mas acho que consegui sair do outro lado seguindo a estratégia do celular que comentei antes.

Testei com a minha conta e funcionou. Como eu ainda não tenho tanto conhecimento do Github, fiz um fork e ajustei lá.

Gostaria que vocês testassem se possível.

Aí depois que mais alguém testar eu faço a pull request aqui pro repositório principal.

https://github.com/marlindo71/guiabolso2csv

@gepetz @goncalvesfran @luxu

gepetz commented 4 years ago

Tem alguma coisa diferente pra rodar? Pois baixei e substitui o repositório e encontrei o mesmo problema.

eventNotFound
Traceback (most recent call last):
  File "C:\Users\Gepetzz\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\Scripts\guiabolso2csv-script.py", line 11, in <module>
    load_entry_point('guiabolso2csv==0.5', 'console_scripts', 'guiabolso2csv')()
  File "C:\Users\Gepetzz\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\Gepetzz\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Users\Gepetzz\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\Gepetzz\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\Gepetzz\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\guiabolso2csv\__main__.py", line 40, in main
    gb = GuiaBolso(email, password)
  File "C:\Users\Gepetzz\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\guiabolso2csv\guia_bolso.py", line 55, in __init__
    self.token = self.login()
  File "C:\Users\Gepetzz\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\guiabolso2csv\guia_bolso.py", line 107, in login
    raise Exception(response['payload']['code'])
Exception: NO_EVENT_HANDLER_FOUND
luxu commented 4 years ago

Aqui tb deu msm erro... :(

marlindo71 commented 4 years ago

@gepetz Pelo visto o python ta executando o programa que ta no cache.

File "C:\Users\Gepetzz\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\guiabolso2csv\guia_bolso.py", line 107, in login raise Exception(response['payload']['code'])

Faz o seguinte, baixa e renomeia a pasta pra um nome diferente. E executa colocando o nome que vc escolheu.

image

gepetz commented 4 years ago

Continua com erro.

Eu já tinha dado um pip uninstall e um novo install também.

Captura de tela 2020-09-23 161826

hugoscampos commented 4 years ago

Testei aqui e deu certo. Valeeeeu!

gepetz commented 4 years ago

@gepetz Pelo visto o python ta executando o programa que ta no cache.

File "C:\Users\Gepetzz\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\guiabolso2csv\guia_bolso.py", line 107, in login raise Exception(response['payload']['code'])

Faz o seguinte, baixa e renomeia a pasta pra um nome diferente. E executa colocando o nome que vc escolheu.

image

Deu certo meu querido! Parabéns pelo trabalho, testado e funcionando.

mudar o nome não funcionou, mas entrei no cache e exclui os arquivos.

goncalvesfran commented 4 years ago

O meu está dando erro. Como faço pra limpar o cache?

goncalvesfran commented 4 years ago

FA9239C7-96EB-4DD7-ABEF-0FEA71AE5B26

Continua com erro pra mim.

hsadok commented 4 years ago

Senhores, obrigado por reportarem os problemas.

Parece que mais uma vez o @marlindo71 salvou o dia. Valeu Marlon! 😄

Eu adicionei as mudanças em #11 e submeti para o PyPI.

Já podem fazer o upgrade com:

pip install guiabolso2csv --upgrade
goncalvesfran commented 4 years ago

Obrigado a todos pelo empenho na atualização do aplicativo. Agora está funcionando perfeitamente!

felipe-prandini commented 3 years ago

Oi pessoal, tentei atualizar mas por algum motivo que me escapa o pip continua instalando a versão 0.5. Já tentei sudo pip install --upgrade --force-reinstall guiabolso2csv o resultado foi esse: image

felipe-prandini commented 3 years ago

o resultado foi esse:

Agora tentei mais uma vez desinstalar tudo.

Depois tentei atualizar o python 3 com: brew install python3 Depois disso instalei o guiabolso2csv com esse comando usando o python 3: python3 -m pip install guiabolso2csv

E, finalmente, deu certo! Não tenho idéia do porque, mas deu certo! hahahha

Muito obrigado a todos pela manutenção dessa api incrível!

fsambugaro commented 3 years ago

Pessoal, boa noite, voltei a ter o mesmo problema que vocês descreveram e arrumaram no passado. Alguém sabe se mudou algo de novo?

fsambugaro commented 3 years ago

eventNotFound Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.9/bin/guiabolso2csv", line 8, in sys.exit(main()) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/click/core.py", line 829, in call return self.main(args, kwargs) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/click/core.py", line 782, in main rv = self.invoke(ctx) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/click/core.py", line 1066, in invoke return ctx.invoke(self.callback, ctx.params) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/click/core.py", line 610, in invoke return callback(args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/guiabolso2csv/main.py", line 40, in main gb = GuiaBolso(email, password) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/guiabolso2csv/guia_bolso.py", line 55, in init self.token = self.login() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/guiabolso2csv/guia_bolso.py", line 111, in login raise Exception(response['payload']['code']) Exception: NO_EVENT_HANDLER_FOUND

goncalvesfran commented 3 years ago

bom dia, pessoal, Pra mim também está aparecendo a mensagem de erro.

Month: 03 eventNotFound Traceback (most recent call last): File "c:\users\fcogo\anaconda3\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "c:\users\fcogo\anaconda3\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\fcogo\anaconda3\Scripts\guiabolso2csv.exe__main.py", line 7, in File "c:\users\fcogo\anaconda3\lib\site-packages\click\core.py", line 829, in call return self.main(args, kwargs) File "c:\users\fcogo\anaconda3\lib\site-packages\click\core.py", line 782, in main rv = self.invoke(ctx) File "c:\users\fcogo\anaconda3\lib\site-packages\click\core.py", line 1066, in invoke return ctx.invoke(self.callback, ctx.params) File "c:\users\fcogo\anaconda3\lib\site-packages\click\core.py", line 610, in invoke return callback(args, **kwargs) File "c:\users\fcogo\anaconda3\lib\site-packages\guiabolso2csv__main__.py", line 40, in main gb = GuiaBolso(email, password) File "c:\users\fcogo\anaconda3\lib\site-packages\guiabolso2csv\guia_bolso.py", line 55, in init__ self.token = self.login() File "c:\users\fcogo\anaconda3\lib\site-packages\guiabolso2csv\guia_bolso.py", line 111, in login raise Exception(response['payload']['code']) Exception: NO_EVENT_HANDLER_FOUND

Agora o guiabolso implementou um serviço pago onde você pode fazer download das suas informações. Acredito que com a implementação desse serviço, eles mudaram alguma coisa!

marlindo71 commented 3 years ago

Boa noite, pessoal.

O que aconteceu foi que implementaram o Recaptcha no App mobile tbm.

Dá última vez que apareceu esse erro foi porque eles tinham implementado o recaptcha no site Web. A gente resolveu trocando o método de autenticação pra poder simular o App, pois no aplicativo ainda não tinha o Recaptcha.

Não sei como fazer pra dar um bypass no Recaptcha.

A única maneira que eu consegui de fazer o programa funcionar foi pegando o token.

Quando o login no site é feito, o guiabolso gera um token de autenticação. Aí toda a comunicação depois disso é feita utilizando esse token.

O que eu fiz foi logar no site, pegar o token, e alterar o programa pra utilizar o token no lugar do login e senha.

Então a maneira que eu vejo de deixar o programa funcionando é mudar a forma de autenticação, pra em vez de usar o usuario e senha, utilizar o token.

O ruim disso é que toda vez que for rodar o programa, antes vai ter que abrir o navegador, logar no site e pegar o token.

fsambugaro commented 3 years ago

Você pode compartilhar, por favor as alterações que fez no codigo?

Obrigado,

felipe-prandini commented 3 years ago

Recebi uma oferta para virar guiabolso premium e um dos benefícios é baixar dados em CSV. Talvez estejam criando barreira para inviabilizar a alternativa gratuita a esse serviço que eles querem começar a monetizar

marlindo71 commented 3 years ago

Pessoal.

Eu fiz um fork e alterei lá. Se puderem testar eu agradeço. Aí depois eu faço o merge aqui.

https://github.com/marlindo71/guiabolso2csv

Pra pegar o token, tem que logar no site do guiabolso, abrir o console da ferramenta de desenvolvedor e digitar:

JSON.parse(localStorage.getItem("login")).token

image

Depois é só executar o programa e passar o token.

image

Aqui funcionou de boa. Dá pra usar o mesmo token várias vezes. Ele tem uma validade, mas eu não sei de quanto tempo.

O meu python tava dando erro de ModuleNotFoundError: No module named 'guiabolso2csv' quando eu executava.

Eu resolvi colocando o -m

Vlw

fsambugaro commented 3 years ago

Bom dia, só consegui testar hoje, está dando o erro abaixo, não sei se eu fiz algo errado.

Token validation error!: The Token's Signature resulted invalid when verified using the Algorithm: SHA256withRSA

fsambugaro commented 3 years ago

Estou usando o Mac Terminal e acho que ele não permite eu copiar o Token completo, tem alguma limitação de caracteres e por isso acho que está dando erro. Alguém sabe como mudar ou tirar essa limitação?

fsambugaro commented 3 years ago

Eu copio o Token e quando colo no terminal ele não vem completo, vem faltando umas 4 linhas e faz o som de que estourou o numero de caracteres. Alguma luz??

fsambugaro commented 3 years ago

@marlindo71 - Eu vi seu post e fiz tudo direitinho. O meu problema está no tamanho do token, quando eu copio e colo, ele não vem completo, parece que excede o tamanho do campo "token" e por isso vem a mensagem que deu erro no token. Tem como mudar o tamanho do campo "Token" para aceitar to token completo? Sou basico na programação....

luxu commented 3 years ago

@marlindo71 - Eu vi seu post e fiz tudo direitinho. O meu problema está no tamanho do token, quando eu copio e colo, ele não vem completo, parece que excede o tamanho do campo "token" e por isso vem a mensagem que deu erro no token. Tem como mudar o tamanho do campo "Token" para aceitar to token completo? Sou basico na programação....

Aki foi de boas de manhã...só lembrando q o token q vc precisa copiar é só o q está dentro das aspas saka?

fsambugaro commented 3 years ago

Eu sei, copiei só dentro das aspas, mas quando colo no Mac Terminal ele da um som que foi excedido o nro de caracteres, fica faltando umas 3 linhas do token. Pesquisei um monte e não encontrei nada sobre limitação de digitação em um campo.

marlindo71 commented 3 years ago

Fala, @fsambugaro.

Eu fiz uma alteração pra incluir um parâmetro chamado tokenfile. Depois faz um teste.

https://github.com/marlindo71/guiabolso2csv

Cria um arquivo txt e cola o token no arquivo. E passa o arquivo como parâmetro. Quando esse parâmetro é passado, o token que vale é o que ta no arquivo. Aí nesse caso pode digitar qualquer coisa quando pedir o token pelo prompt.

image

fsambugaro commented 3 years ago

@marlindo71 Funcionou perfeitamente, muito obrigado.

felipe-prandini commented 3 years ago

Testei por aqui e funcionou também! Muito obrigado!!

On Tue, May 25, 2021 at 6:10 PM fsambugaro @.***> wrote:

@marlindo71 https://github.com/marlindo71 Funcionou perfeitamente, muito obrigado.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/hsadok/guiabolso2csv/issues/10#issuecomment-848266074, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG25PV2CHBMU3VN47FACFCLTPQG27ANCNFSM4RD3NPKQ .

felipe-prandini commented 3 years ago

Pessoal, tentei denovo agora após um mês e encontrei o seguinte problema:

Traceback (most recent call last):

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 174, in _run_module_as_main

"__main__", fname, loader, pkg_name)

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code

exec code in run_globals

File "/Users/fprandini/guiabolso2csv/guiabolso2csv/main.py", line 60, in

main()

File "/Library/Python/2.7/site-packages/click/core.py", line 829, in call

return self.main(*args, **kwargs)

File "/Library/Python/2.7/site-packages/click/core.py", line 782, in main

rv = self.invoke(ctx)

File "/Library/Python/2.7/site-packages/click/core.py", line 1066, in invoke

return ctx.invoke(self.callback, **ctx.params)

File "/Library/Python/2.7/site-packages/click/core.py", line 610, in invoke

return callback(*args, **kwargs)

File "/Users/fprandini/guiabolso2csv/guiabolso2csv/main.py", line 42, in main

gb = GuiaBolso(token)

TypeError: init() takes exactly 3 arguments (2 given)

Alguém por aí está conseguindo usar?

On Sun, Jun 6, 2021 at 9:04 AM Felipe Prandini @.***> wrote:

Testei por aqui e funcionou também! Muito obrigado!!

On Tue, May 25, 2021 at 6:10 PM fsambugaro @.***> wrote:

@marlindo71 https://github.com/marlindo71 Funcionou perfeitamente, muito obrigado.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/hsadok/guiabolso2csv/issues/10#issuecomment-848266074, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG25PV2CHBMU3VN47FACFCLTPQG27ANCNFSM4RD3NPKQ .

fsambugaro commented 3 years ago

@marlindo71 Não sei o que aconteceu, mas agora eu entro com Token, Ano e mês, finaliza o processo, mas não grava nenhum arquivo. Tem ideia do que possa ser?

larruda commented 3 years ago

O endpoint mudou pra https://kasbah.guiabolso.com.br/v2/events/...