diff --git a/airbyte-integrations/connectors/source-google-ads/metadata.yaml b/airbyte-integrations/connectors/source-google-ads/metadata.yaml index ed883a5080af1..8d15828876233 100644 --- a/airbyte-integrations/connectors/source-google-ads/metadata.yaml +++ b/airbyte-integrations/connectors/source-google-ads/metadata.yaml @@ -11,7 +11,7 @@ data: connectorSubtype: api connectorType: source definitionId: 253487c0-2246-43ba-a21f-5116b20a2c50 - dockerImageTag: 3.3.4 + dockerImageTag: 3.3.5 dockerRepository: airbyte/source-google-ads documentationUrl: https://docs.airbyte.com/integrations/sources/google-ads githubIssueLabel: source-google-ads diff --git a/airbyte-integrations/connectors/source-google-ads/poetry.lock b/airbyte-integrations/connectors/source-google-ads/poetry.lock index f6e98089cef28..eefcf8333c3fa 100644 --- a/airbyte-integrations/connectors/source-google-ads/poetry.lock +++ b/airbyte-integrations/connectors/source-google-ads/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "airbyte-cdk" @@ -1342,4 +1342,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.9,<3.12" -content-hash = "995b656ad5991d34f517389e1e26276ebf1052e6fc4af5f3955b6a5d9c7cd2ef" +content-hash = "85de59ee85d7cb6a28483c561e60f5fd6315a509a920e34639a1e3199f8ef4cd" diff --git a/airbyte-integrations/connectors/source-google-ads/pyproject.toml b/airbyte-integrations/connectors/source-google-ads/pyproject.toml index 0535b4fa62d9b..f46539d35eebb 100644 --- a/airbyte-integrations/connectors/source-google-ads/pyproject.toml +++ b/airbyte-integrations/connectors/source-google-ads/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "3.3.4" +version = "3.3.5" name = "source-google-ads" description = "Source implementation for Google Ads." authors = [ "Airbyte ",] @@ -19,7 +19,6 @@ include = "source_google_ads" python = "^3.9,<3.12" google-ads = "==22.1.0" protobuf = "==4.25.2" -pendulum = "==2.1.2" airbyte-cdk = "==0.58.8" [tool.poetry.scripts] diff --git a/airbyte-integrations/connectors/source-google-ads/source_google_ads/google_ads.py b/airbyte-integrations/connectors/source-google-ads/source_google_ads/google_ads.py index 09ebafcd92670..c34833154ce67 100644 --- a/airbyte-integrations/connectors/source-google-ads/source_google_ads/google_ads.py +++ b/airbyte-integrations/connectors/source-google-ads/source_google_ads/google_ads.py @@ -5,7 +5,7 @@ import logging from enum import Enum -from typing import Any, Iterable, Iterator, List, Mapping, MutableMapping, Optional +from typing import Any, Iterable, Iterator, List, Mapping, MutableMapping import backoff from airbyte_cdk.models import FailureType diff --git a/airbyte-integrations/connectors/source-google-ads/source_google_ads/source.py b/airbyte-integrations/connectors/source-google-ads/source_google_ads/source.py index 2402cd18adbed..a51fe215868ad 100644 --- a/airbyte-integrations/connectors/source-google-ads/source_google_ads/source.py +++ b/airbyte-integrations/connectors/source-google-ads/source_google_ads/source.py @@ -40,7 +40,6 @@ GeographicView, KeywordView, Label, - ServiceAccounts, ShoppingPerformanceView, TopicView, UserInterest, diff --git a/airbyte-integrations/connectors/source-google-ads/source_google_ads/utils.py b/airbyte-integrations/connectors/source-google-ads/source_google_ads/utils.py index 3085343c92789..ab54a6ee116c9 100644 --- a/airbyte-integrations/connectors/source-google-ads/source_google_ads/utils.py +++ b/airbyte-integrations/connectors/source-google-ads/source_google_ads/utils.py @@ -83,6 +83,9 @@ def traced_exception(ga_exception: Union[GoogleAdsException, Unauthenticated], c f"Ensure the customer is linked to your manager account or check your permissions to access this customer account." ) + elif is_error_type(authentication_error, AuthenticationErrorEnum.AuthenticationError.TWO_STEP_VERIFICATION_NOT_ENROLLED): + message = "An account administrator changed this account's authentication settings. To access this Google Ads account, enable 2-Step Verification in your Google account at https://www.google.com/landing/2step" + # If the error is encountered in the internally used class `ServiceAccounts`, an exception is raised. # For other classes, the error is logged and skipped to prevent sync failure. See: https://github.com/airbytehq/airbyte/issues/12486 elif is_error_type(authorization_error, AuthorizationErrorEnum.AuthorizationError.CUSTOMER_NOT_ENABLED): diff --git a/docs/integrations/sources/google-ads.md b/docs/integrations/sources/google-ads.md index 703474a835334..e7acc051bb900 100644 --- a/docs/integrations/sources/google-ads.md +++ b/docs/integrations/sources/google-ads.md @@ -280,6 +280,7 @@ Due to a limitation in the Google Ads API which does not allow getting performan | Version | Date | Pull Request | Subject | |:---------|:-----------|:---------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------| +| `3.3.5` | 2024-02-28 | [35709](https://github.com/airbytehq/airbyte/pull/35709) | Handle 2-Step Verification exception as config error | | `3.3.4` | 2024-02-21 | [35493](https://github.com/airbytehq/airbyte/pull/35493) | Rolling back the patch 3.3.3 made for `user_interest` steam | | `3.3.3` | 2024-02-14 | [35280](https://github.com/airbytehq/airbyte/pull/35280) | Temporary patch that disables some fields to avoid 500 error when syncing `user_interest` steam | | `3.3.2` | 2024-02-12 | [35158](https://github.com/airbytehq/airbyte/pull/35158) | Manage dependencies with Poetry. |