import google.auth
from google.auth.transport.requests import Request
from google.oauth2 import service_account
from google.ads.googleads.client import GoogleAdsClient
# Configuração
DEVELOPER_TOKEN = "xxxxxxx-xxxxxxxxxxxxx"
PATH_TO_CREDENTIALS = "caminhoParaCredenciais.json"
CUSTOMER_ID = "xxxxxxxxxx" (
I've already tried with a -)
def get_google_ads_data(credentials_path, developer_token, customer_id):
try:
# Autenticação
credentials = service_account.Credentials.from_service_account_file(credentials_path)
credentiaels = credentials.with_scopes(['
https://www.googleapis.com/auth/adwords'])
# Criar cliente do Google Ads
google_ads_client = GoogleAdsClient(credentials=credentials, developer_token=developer_token)
# Construir a consulta
query = f"""
SELECT
campaign.id #
ad_group.id,
#
ad.id,
# ad.type,
# ad.headline,
# ad.description,
# metrics.impressions,
# metrics.clicks,
# metrics.average_cpc
FROM
ad
WHERE
segments.date DURING LAST_7_DAYS
AND metrics.impressions > 0
"""
ga_service = google_ads_client.get_service("GoogleAdsService")
# Executar a consulta
response = ga_service.search_stream(customer_id=customer_id, query=query)
# Exibir resultados
for batch in response:
for row in batch.results:
print(f"Ad ID: {row.ad.id.value}, Headline: {row.ad.headline.value}, Impressions: {row.metrics.impressions.value}")
except Exception as e:
print(f"An error occurred: {e}")
return None
if __name__ == "__main__":
get_google_ads_data(PATH_TO_CREDENTIALS, DEVELOPER_TOKEN, CUSTOMER_ID)