Why am I missing campaign names ??
This commit is contained in:
@@ -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):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -41,12 +41,31 @@ async def test_ad_accounts():
|
|||||||
access_token=access_token,
|
access_token=access_token,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Connect to database
|
print("\nFetching all ad accounts accessible to this token...")
|
||||||
print("Connecting to database...")
|
me = User(fbid='me')
|
||||||
db = TimescaleDBClient()
|
account_fields = ['name', 'currency', 'timezone_name', 'account_status']
|
||||||
await db.connect()
|
|
||||||
|
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:
|
try:
|
||||||
|
|
||||||
|
# Connect to database
|
||||||
|
print("Connecting to database...")
|
||||||
|
db = TimescaleDBClient()
|
||||||
|
await db.connect()
|
||||||
# Initialize schema
|
# Initialize schema
|
||||||
print("\nInitializing database schema...")
|
print("\nInitializing database schema...")
|
||||||
await db.initialize_schema()
|
await db.initialize_schema()
|
||||||
|
|||||||
Reference in New Issue
Block a user