谷歌广告 API 更新 - v10,错误:"unexpected input DURING"



Google Ads API最近停止了旧版本- https://ads-developers.googleblog.com/2021/04/upgrade-to-google-ads-api-from-adwords.html.

话虽这么说,我正试图调整我的查询到新的api标准,并得到最奇怪的错误"unexpected input DURING"-下面有更多的细节。这似乎是正确的根据这个文档:https://developers.google.com/google-ads/api/docs/samples/get-hotel-ads-performance

注意"DURING"在上面文档中的示例SQL查询中

下面是我的错误信息,下面是脚本:

错误:

SELECT Date, AdGroupId, AdGroupName, CampaignId, CampaignName, Impressions, Clicks, Cost, Conversions, ConversionRate, Ctr, AverageCpc, CostPerConversion FROM CRITERIA_PERFORMANCE_REPORT WHERE Status IN ('ENABLED', 'PAUSED') DURING 20220427,20220428
Request made: ClientCustomerId:, Host: googleads.googleapis.com, Method: /google.ads.googleads.v8.services.GoogleAdsService/SearchStream, RequestId:, IsFault: True, FaultMessage: 
Error in query: unexpected input DURING.

脚本:

import sys, json, io, gzip, sys, os
from googleads import adwords
import pandas as pd
import numpy as np
def google_ads_extract(client,customer_id, s3_path,fields,report_type,statuses,date_range, download_version, job_name):
ga_service = client.get_service("GoogleAdsService")
search_request=client.get_type("SearchGoogleAdsStreamRequest")
search_request.customer_id = customer_id
query = f"SELECT {', '.join(str(x) for x in fields)} FROM {str(report_type[0])} WHERE Status IN {*statuses,} DURING {date_range}"

# query = "SELECT Date, AdGroupId, AdGroupName, CampaignId, CampaignName, Impressions, Clicks, Cost, Conversions, ConversionRate, Ctr, AverageCpc, CostPerConversion FROM CRITERIA_PERFORMANCE_REPORT WHERE Status IN ('ENABLED', 'PAUSED') DURING 20220427,20220428"

print(query)
search_request.query = query

stream = ga_service.search_stream(search_request)

for batch in stream:
for row in batch.results:
print(row)      
return 1

使用

选择时间范围
segments.date BETWEEN '2019-01-01' AND '2019-01-31'

但是因为你有UTC所以你可以尝试,但是因为我现在不能测试它,你最好用上面的日期来运行它

SELECT Date, AdGroupId, AdGroupName, CampaignId, CampaignName, Impressions, Clicks, Cost, Conversions, ConversionRate, Ctr, AverageCpc, CostPerConversion 
FROM CRITERIA_PERFORMANCE_REPORT 
WHERE Status IN ('ENABLED', 'PAUSED') 
AND segments.date BETWEEN TIMESTAMP_SECONDS(20220427) AND TIMESTAMP_SECONDS(20220428) 

相关内容

最新更新