Error when adding Quickbooks source in Airbyte on Macbook Pro with Docker Compose

Summary

Encountered an error when trying to connect to stream accounts while adding Quickbooks source in Airbyte on a Macbook Pro with Docker Compose. The error message indicates an issue with an attribute ‘eval’. User is seeking help to understand if the code base needs to be updated or additional configuration is required.


Question

Hi everyone,
I am brand new to Airbytes and I am running into an issue.
I am deploying airbytes on my 2014 macbook pro with docker compose. I want to add my quickbooks developer app as a source.
I’ve been following the guide provided - https://docs.airbyte.com/deploying-airbyte/docker-compose.
I am running successfully and log in.
I try to add the quickbooks source (I have fresh tokens from http://developer.inuit.com|developer.inuit.com for my developer app)
I hit test connection and I get the following error.

2024-06-06 16:57:12 [46mplatform[0m > Encountered an error trying to connect to stream accounts. Error: 
 Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/sources/declarative/checks/check_stream.py", line 42, in check_connection
    stream_is_available, reason = availability_strategy.check_availability(stream, logger, source)
  File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/sources/streams/http/availability_strategy.py", line 50, in check_availability
    get_first_record_for_slice(stream, stream_slice)
  File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/sources/streams/utils/stream_helper.py", line 40, in get_first_record_for_slice
    return next(records_for_slice)
  File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/sources/declarative/declarative_stream.py", line 126, in read_records
    yield from self.retriever.read_records(self.get_json_schema(), stream_slice)
  File "/usr/local/lib/python3.9/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py", line 339, in read_records
    self.cursor.close_slice(_slice, most_recent_record_from_slice)
  File "/airbyte/integration_code/source_quickbooks/components.py", line 72, in close_slice
    most_recent_record=LastRecordDictProxy(most_recent_record, {self.cursor_field.eval(self.config): "MetaData/LastUpdatedTime"}),
AttributeError: 'str' object has no attribute 'eval'

2024-06-06 16:57:12 [46mplatform[0m > Check failed
2024-06-06 16:57:12 [46mplatform[0m > Check connection job received output: io.airbyte.config.StandardCheckConnectionOutput@71baad3d[status=failed,message="Unable to connect to stream accounts - 'str' object has no attribute 'eval'",additionalProperties={}]```
Has anyone else seen this error?
I’m trying to dig into the logs to see if I’m even getting a response from quickbooks.
For additional information, I can connect and retrieve data from my quickbooks developer app using Postman. So I don’t think its on the quickbooks side.
Do I just need to update the code base to handle the error?
or do I need to additional configuration?

<br>

---

This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. [Click here](https://airbytehq.slack.com/archives/C021JANJ6TY/p1717791913681549) if you want 
to access the original thread.

[Join the conversation on Slack](https://slack.airbyte.com)

<sub>
["quickbooks-source", "airbyte", "macbook-pro", "docker-compose", "error", "eval-attribute"]
</sub>

I can get the access & refresh tokens and access my sandbox data using Postman.
I created the intuit app to use the quickbooks.accounting and quickbooks.payment APIs.
When I create the token on inuit’s OAuth 2.0 Playground, I make sure to select those APIs.
But I might be missing something!

I couldn’t fix it on the open source version. Creating a testing account on airbyte cloud it completed smoothly

Look like source permissions thing. Are you sure the token / auth you provide has access to the stream?

<@U0770LR8DU4> did you found out a solution? Im facing the same issue. I had it configured last week but now it isn’t working anymore

<@U0771KW9NS2> Hey, wondering if you pursued this any more, or if you just went with the cloud?

Hey <@U0770LR8DU4>! One thing that I’ve updated is the “Start Date” on the connector setting. Using that I could be able to load the schemas and connect to the API but when trying to load the data to an destination it still giving me an HTTP 500 error

<@U0771KW9NS2> I haven’t been able to find anything. But I haven’t been actively working on it. What have you tried?
I need to look at the code again. I tried updating the code and building the container again to handle the error, but if I remember right, I think it’s just pulling the source_quickbooks image instead of building one? It didn’t seem like my code changes were making it into the container.