Compare commits

...

2 Commits

Author SHA1 Message Date
Jonas Linter
805c90f76e Merge branch 'main' of git.99tales.net:jonas/meta_api_grabber 2025-10-28 11:11:02 +01:00
Jonas Linter
61e09fe467 Why am I missing campaign names ?? 2025-10-28 11:10:40 +01:00
2 changed files with 36 additions and 6 deletions

View File

@@ -336,17 +336,28 @@ class ScheduledInsightsGrabber:
) )
count = 0 count = 0
campaigns_without_name = []
for campaign in campaigns: for campaign in campaigns:
campaign_id = campaign['id']
campaign_name = campaign.get('name')
# Track campaigns without names for debugging
if not campaign_name:
campaigns_without_name.append(campaign_id)
print(f" WARNING: Campaign {campaign_id} has no name. Raw data: {dict(campaign)}")
await self.db.upsert_campaign( await self.db.upsert_campaign(
campaign_id=campaign['id'], campaign_id=campaign_id,
account_id=account_id, account_id=account_id,
campaign_name=campaign.get('name', 'Unknown'), campaign_name=campaign_name or 'Unknown',
status=campaign.get('status'), status=campaign.get('status'),
objective=campaign.get('objective'), objective=campaign.get('objective'),
) )
count += 1 count += 1
print(f" {count} campaigns cached for {account_id}") print(f" {count} campaigns cached for {account_id}")
if campaigns_without_name:
print(f" ⚠️ {len(campaigns_without_name)} campaigns without names: {campaigns_without_name}")
async def cache_adsets_metadata(self, account_id: str, limit: int = 100): async def cache_adsets_metadata(self, account_id: str, limit: int = 100):
""" """

View File

@@ -41,12 +41,31 @@ async def test_ad_accounts():
access_token=access_token, access_token=access_token,
) )
print("\nFetching all ad accounts accessible to this token...")
me = User(fbid='me')
account_fields = ['name', 'currency', 'timezone_name', 'account_status']
ad_accounts = me.get_ad_accounts(fields=account_fields)
print(f"Found {len(ad_accounts)} ad account(s)\n")
stored_count = 0
for account in ad_accounts:
account_id = account['id']
print(f"Ad Account {stored_count + 1}:")
print(f" ID: {account_id}")
print(f" Name: {account.get('name', 'N/A')}")
print(f" Currency: {account.get('currency', 'N/A')}")
print(f" Timezone: {account.get('timezone_name', 'N/A')}")
print(f" Status: {account.get('account_status', 'N/A')}")
try:
# Connect to database # Connect to database
print("Connecting to database...") print("Connecting to database...")
db = TimescaleDBClient() db = TimescaleDBClient()
await db.connect() await db.connect()
try:
# Initialize schema # Initialize schema
print("\nInitializing database schema...") print("\nInitializing database schema...")
await db.initialize_schema() await db.initialize_schema()