#!/usr/bin/env python3
"""Quick test of Google Ads MCP with provided customer ID."""
import os
from dotenv import load_dotenv
from google.ads.googleads.client import GoogleAdsClient
load_dotenv()
print("Testing Google Ads connection...\n")
try:
# Initialize client
config = {
"developer_token": os.getenv("GOOGLE_ADS_DEVELOPER_TOKEN"),
"login_customer_id": os.getenv("GOOGLE_ADS_LOGIN_CUSTOMER_ID"),
"use_proto_plus": True,
"client_id": os.getenv("GOOGLE_ADS_CLIENT_ID"),
"client_secret": os.getenv("GOOGLE_ADS_CLIENT_SECRET", ""),
"refresh_token": os.getenv("GOOGLE_ADS_REFRESH_TOKEN"),
}
client = GoogleAdsClient.load_from_dict(config)
print("✅ Client initialized")
# Get service
ga_service = client.get_service("GoogleAdsService")
print("✅ Service loaded")
# Query customer 4892130133
customer_id = "4892130133"
print(f"\n📊 Querying campaigns for customer {customer_id}...\n")
query = """
SELECT campaign.id, campaign.name, campaign.status
FROM campaign
ORDER BY campaign.id
LIMIT 5
"""
search_request = client.get_type("SearchGoogleAdsRequest")
search_request.customer_id = customer_id
search_request.query = query
search_request.page_size = 100
response = ga_service.search(request=search_request)
campaigns = []
for row in response:
campaigns.append(row)
if campaigns:
print(f"✅ Found {len(campaigns)} campaigns:")
for row in campaigns:
print(f" - {row.campaign.name} (ID: {row.campaign.id}, Status: {row.campaign.status})")
else:
print("⚠️ No campaigns found (but query worked)")
print("\n✅ Connection successful!")
except Exception as e:
print(f"❌ Error: {e}")
import traceback
traceback.print_exc()