如何更新 Bing 广告中的广告系列?

How to Update campaign in Bing Ads?

对于更新活动,我正在使用此代码

public async Task<List<long?>> updateCampaign(Campaign campaign,string status)
    {
        try
        {
            campaign.Status = (CampaignStatus)(int)Enum.Parse(typeof(CampaignStatus), status);
            var request = new UpdateCampaignsRequest
            {
                Campaigns = new Campaign[] { campaign },
                CustomerId = "xxxxxx",
                UserName = "something@outlook.com",
                Password = "something@123",
                ApplicationToken = "myApplicationToken",
                CustomerAccountId = "123456",
                DeveloperToken = "1234567890"
            };

            CampaignService = new ServiceClient<ICampaignManagementService>(_authorizationData);
            CampaignService.RefreshOAuthTokensAutomatically = false;
            var result = (await CampaignService.CallAsync((s, r) => s.UpdateCampaignsAsync(r), request));

            if (result.TrackingId != null)
            {
                return result.CampaignIds.ToList();
            }
            else
            {
                return new List<long?>();
            }
        }
        catch (Exception ex)
        {
            ErrorLog.log(ex);
            return new List<long?>();
        }
    }

当我运行这段代码时,我得到了这个错误"Invalid client data. Check the SOAP fault details for more information"

谢谢。

为了更新广告系列,我们可以使用 "BulkServiceManager" 批量更新广告系列,您也可以使用此服务单个广告系列更新。

public async Task<List<long?>> updateCampaign(List<Campaign> campaigns)
    {
        try
        {
            var listBulkCampaign = new List<BulkCampaign>();
            foreach (var campaign in campaigns)
            {
              var _bulkCampaign = new BulkCampaign()
                {
                    Campaign = campaign
                };
                listBulkCampaign.Add(_bulkCampaign);
            }
            BulkServiceManager bulkServiceManager = new BulkServiceManager(_authorizationData);
            string fileName = bingCampaignUpdate.csv;
            var campaigns = (await bulkServiceManager.UploadEntitiesAsync(new EntityUploadParameters
            {
                Entities = listBulkCampaign,
                OverwriteResultFile = true,
                ResultFileDirectory = FileDirectory,
                ResultFileName = fileName,
                ResponseMode = ResponseMode.ErrorsAndResults
            })).OfType<BulkCampaign>().ToList();

            return new List<long?>();
        }
        catch (Exception ex)
        {
            ErrorLog.log(ex);
            return new List<long?>();
        }
}

您必须下载 .csv 报告并更新广告系列。

希望对你有帮助