first commit
This commit is contained in:
32
scripts/reports/list_ga4_properties.py
Normal file
32
scripts/reports/list_ga4_properties.py
Normal file
@@ -0,0 +1,32 @@
|
||||
"""List all GA4 properties accessible by this token."""
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
from google.oauth2.credentials import Credentials
|
||||
from google.analytics.admin_v1beta import AnalyticsAdminServiceClient
|
||||
|
||||
load_dotenv()
|
||||
|
||||
CLIENT_ID = os.getenv("GOOGLE_ADS_OAUTH2_CLIENT_ID")
|
||||
CLIENT_SECRET = os.getenv("GOOGLE_ADS_OAUTH2_CLIENT_SECRET")
|
||||
REFRESH_TOKEN = os.getenv("GA4_REFRESH_TOKEN")
|
||||
|
||||
credentials = Credentials(
|
||||
token=None,
|
||||
refresh_token=REFRESH_TOKEN,
|
||||
client_id=CLIENT_ID,
|
||||
client_secret=CLIENT_SECRET,
|
||||
token_uri="https://oauth2.googleapis.com/token",
|
||||
)
|
||||
|
||||
client = AnalyticsAdminServiceClient(credentials=credentials)
|
||||
|
||||
print("Accounts:")
|
||||
print("-" * 60)
|
||||
for account in client.list_accounts():
|
||||
print(f" Account: {account.name} | {account.display_name}")
|
||||
|
||||
print(" Properties:")
|
||||
request = {"filter": f"parent:{account.name}"}
|
||||
for prop in client.list_properties(request=request):
|
||||
print(f" Property ID: {prop.name.replace('properties/', '')} | {prop.display_name}")
|
||||
print()
|
||||
Reference in New Issue
Block a user