singer-io / tap-outreach

GNU Affero General Public License v3.0
6 stars 21 forks source link

I have to re-authorize every month #37

Open mwarner-sr opened 1 month ago

mwarner-sr commented 1 month ago

Every month or so, I get an error saying the Outreach authentication has failed and that I need to re-authorize.

Here's the log of the error message:

2024-09-25 14:00:33,365Z    tap - INFO Testing authentication
2024-09-25 14:00:33,496Z target - INFO Using batch_size_prefernces of {'full_table_streams': [], 'batch_size_preference': None, 'user_batch_size_preference': None}
2024-09-25 14:00:33,675Z    tap - CRITICAL Error testing Outreach authentication
2024-09-25 14:00:33,675Z    tap - Traceback (most recent call last):
2024-09-25 14:00:33,675Z    tap -   File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_outreach/__init__.py", line 29, in check_auth
2024-09-25 14:00:33,675Z    tap -     client.get(
2024-09-25 14:00:33,675Z    tap -   File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_outreach/client.py", line 139, in get
2024-09-25 14:00:33,675Z    tap -     return self.request('GET', url=url, path=path, **kwargs)
2024-09-25 14:00:33,675Z    tap -   File "/code/orchestrator/tap-env/lib/python3.9/site-packages/backoff/_sync.py", line 94, in retry
2024-09-25 14:00:33,675Z    tap -     ret = target(*args, **kwargs)
2024-09-25 14:00:33,675Z    tap -   File "/code/orchestrator/tap-env/lib/python3.9/site-packages/singer/utils.py", line 95, in wrapper
2024-09-25 14:00:33,675Z    tap -     return func(*args, **kwargs)
2024-09-25 14:00:33,675Z    tap -   File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_outreach/client.py", line 88, in request
2024-09-25 14:00:33,675Z    tap -     self.refresh()
2024-09-25 14:00:33,675Z    tap -   File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_outreach/client.py", line 62, in refresh
2024-09-25 14:00:33,676Z    tap -     self.__access_token = data['access_token']
2024-09-25 14:00:33,676Z    tap - KeyError: 'access_token'
2024-09-25 14:00:33,676Z    tap - 
2024-09-25 14:00:33,676Z    tap - The above exception was the direct cause of the following exception:
2024-09-25 14:00:33,676Z    tap - 
2024-09-25 14:00:33,676Z    tap - Traceback (most recent call last):
2024-09-25 14:00:33,676Z    tap -   File "/code/orchestrator/tap-env/bin/tap-outreach", line 8, in <module>
2024-09-25 14:00:33,676Z    tap -     sys.exit(main())
2024-09-25 14:00:33,676Z    tap -   File "/code/orchestrator/tap-env/lib/python3.9/site-packages/singer/utils.py", line 229, in wrapped
2024-09-25 14:00:33,676Z    tap -     return fnc(*args, **kwargs)
2024-09-25 14:00:33,676Z    tap -   File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_outreach/__init__.py", line 45, in main
2024-09-25 14:00:33,676Z    tap -     check_auth(client)
2024-09-25 14:00:33,676Z    tap -   File "/code/orchestrator/tap-env/lib/python3.9/site-packages/tap_outreach/__init__.py", line 33, in check_auth
2024-09-25 14:00:33,676Z    tap -     raise Exception('Error testing Outreach authentication') from ex
2024-09-25 14:00:33,676Z    tap - Exception: Error testing Outreach authentication
2024-09-25 14:00:33,720Z target - INFO Requests complete, stopping loop
2024-09-25 14:00:33,774Z   main - INFO Target exited normally with status 0
2024-09-25 14:00:33,777Z   main - INFO No tunnel subprocess to tear down
2024-09-25 14:00:33,777Z   main - INFO Exit status is: Discovery succeeded. Tap failed with code 1 and error message: "Error testing Outreach authentication". Target succeeded.

I thought this may have been related to #24, but this seems to be an issue with expiring access tokens (https://developers.outreach.io/api/getting-started/#authentication). Though, I don't know why that would be an issue because authorizing means to log in.