hey folks, correct me if wrong but ```raise FatalA...
# getting-started
k
hey folks, correct me if wrong but
Copy code
raise FatalAPIError(msg)   cmd_type=extractor job_id=essensys-to-snowflake name=tap-essensys run_id=c6cdf971-d436-4820-935e-e35407f691d5 stdio=stderr
2022-08-10T18:44:28.538386Z [info     ] singer_sdk.exceptions.FatalAPIError: 401 Client Error: Access Denied for path: /api/1.0/Account cmd_type=extractor job_id=essensys-to-snowflake name=tap-essensys run_id=c6cdf971-d436-4820-935e-e35407f691d5 stdio=stderr
means that our credentials are invalid? Even though i See:
Copy code
2022-08-10T18:39:26.619314Z [info     ] time=2022-08-10 18:39:26 name=tap-essensys level=INFO message=OAuth authorization attempt was successful. cmd_type=extractor job_id=essensys-to-snowflake name=tap-essensys run_id=c6cdf971-d436-4820-935e-e35407f691d5 stdio=stderr
2022-08-10T18:39:26.907565Z [info     ] time=2022-08-10 18:39:26 name=tap-essensys level=INFO message=OAuth authorization attempt was successful. cmd_type=extractor job_id=essensys-to-snowflake name=tap-essensys run_id=c6cdf971-d436-4820-935e-e35407f691d5 stdio=stderr
a few lines above it
v
Yes both things can be true. Oauth authorization can complete successfully and you may not have access to
/api/1.0/Account
from here you have to debug why the
/api/1.0/Account
call is failing. I try to change the error message in my taps so we can see the body of the 401 response as that normally gives you clues. The other way to debug this is to manually pull the data from that endpoint on your own (Postman, curl, etc) get the data working then figure out what's going on in the tap. Ideally the tap would give you more info as to what's going on
k
thanks @visch !
c
I normally add a proxy in the middle to debug HTTP issues. For Meltano SDK based taps, using a HTTP proxy requires this patch though: https://gitlab.com/cwegener/sdk/-/commit/d593bdddbea951095bdc5f3edfc38623b0b10909
v
@christoph fiddler?
c
@christoph fiddler?
Yeah. That's one example. Charles Proxy, Proxyman and many others would likely do the job as well. I personally only use
mitmproxy
for HTTP debugging.