airflow.providers.google.ads.hooks.ads
¶
This module contains Google Ad hook.
Module Contents¶
-
class
airflow.providers.google.ads.hooks.ads.
GoogleAdsHook
(api_version: Optional[str], gcp_conn_id: str = 'google_cloud_default', google_ads_conn_id: str = 'google_ads_default')[source]¶ Bases:
airflow.hooks.base.BaseHook
Hook for the Google Ads API.
This hook requires two connections:
gcp_conn_id - provides service account details (like any other GCP connection)
google_ads_conn_id - which contains information from Google Ads config.yaml file in the
extras
. Example of theextras
:
{ "google_ads_client": { "developer_token": "{{ INSERT_TOKEN }}", "path_to_private_key_file": null, "delegated_account": "{{ INSERT_DELEGATED_ACCOUNT }}" } }
The
path_to_private_key_file
is resolved by the hook using credentials from gcp_conn_id. https://developers.google.com/google-ads/api/docs/client-libs/python/oauth-serviceSee also
For more information on how Google Ads authentication flow works take a look at: https://developers.google.com/google-ads/api/docs/client-libs/python/oauth-service
See also
For more information on the Google Ads API, take a look at the API docs: https://developers.google.com/google-ads/api/docs/start
- Parameters
- Returns
list of Google Ads Row object(s)
- Return type
list[GoogleAdsRow]
-
_get_service
(self)[source]¶ Connects and authenticates with the Google Ads API using a service account
-
_get_customer_service
(self)[source]¶ Connects and authenticates with the Google Ads API using a service account
-
_get_config
(self)[source]¶ Gets google ads connection from meta db and sets google_ads_config attribute with returned config file
-
_update_config_with_secret
(self, secrets_temp: IO[str])[source]¶ Gets Google Cloud secret from connection and saves the contents to the temp file Updates google ads config with file path of the temp file containing the secret Note, the secret must be passed as a file path for Google Ads API
-
search
(self, client_ids: List[str], query: str, page_size: int = 10000, **kwargs)[source]¶ Pulls data from the Google Ads API
-
_extract_rows
(self, iterators: Generator[GRPCIterator, None, None])[source]¶ Convert Google Page Iterator (GRPCIterator) objects to Google Ads Rows
-
list_accessible_customers
(self)[source]¶ Returns resource names of customers directly accessible by the user authenticating the call. The resulting list of customers is based on your OAuth credentials. The request returns a list of all accounts that you are able to act upon directly given your current credentials. This will not necessarily include all accounts within the account hierarchy; rather, it will only include accounts where your authenticated user has been added with admin or other rights in the account.
- Returns
List of names of customers