在Bing Ads API中,您可以使用CampaignStatusReportFilter来筛选报告。以下是一个示例代码,演示如何添加多个CampaignStatusReportFilter来筛选报告:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.BingAds;
using Microsoft.BingAds.Reporting;
namespace BingAdsApiExample
{
class Program
{
static void Main(string[] args)
{
var customerId = ;
var accountId = ;
var developerToken = ;
var accessToken = ;
var refreshToken = ;
var reportingService = new ReportingServiceManager(
developerToken,
customerId,
accountId,
accessToken,
refreshToken);
var reportRequest = new CampaignPerformanceReportRequest
{
ReportName = "Campaign Performance Report",
ReportType = ReportType.CampaignPerformanceReport,
Aggregation = ReportAggregation.Daily,
Columns = new[]
{
CampaignPerformanceReportColumn.TimePeriod,
CampaignPerformanceReportColumn.AccountName,
CampaignPerformanceReportColumn.CampaignName,
CampaignPerformanceReportColumn.Spend,
CampaignPerformanceReportColumn.Clicks,
CampaignPerformanceReportColumn.Impressions
},
Scope = new AccountThroughCampaignReportScope
{
AccountIds = new[] { accountId }
},
Filter = new CampaignStatusReportFilter
{
CampaignStatus = new[]
{
CampaignStatus.Active,
CampaignStatus.Paused
}
},
Time = new ReportTime
{
PredefinedTime = ReportTimePeriod.Yesterday
}
};
var reportFileName = "CampaignPerformanceReport.csv";
var reportFormat = ReportFileFormat.Csv;
var reportRequestOptions = new ReportRequestOptions
{
Format = reportFormat,
ReturnOnlyCompleteData = true,
ExcludeReportFooter = true,
ExcludeReportHeader = true
};
var request = new SubmitGenerateReportRequest
{
ReportRequest = reportRequest,
ReportRequestOptions = reportRequestOptions
};
var response = reportingService.SubmitGenerateReport(request);
var requestId = response.ReportRequestId;
var reportStatus = reportingService.GetReportDownloadUrl(requestId);
var downloadUrl = reportStatus.DownloadUrl;
var resultFileDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
var resultFilePath = System.IO.Path.Combine(resultFileDirectory, reportFileName);
reportingService.DownloadFileAsync(downloadUrl, resultFilePath).Wait();
Console.WriteLine($"Report downloaded to {resultFilePath}");
Console.ReadKey();
}
}
}
请注意,您需要将
,
,
,
和
替换为您自己的值。
在上述示例代码中,我们使用CampaignStatusReportFilter来筛选报告,以仅包括处于Active和Paused状态的广告系列。您可以根据自己的需求调整筛选器。
此代码示例使用C#编程语言,但您可以根据自己的喜好使用其他编程语言。